success 只有在AJAX调用成功时才会触发,即最终返回HTTP 200状态。 error 失败时会触发, complete 请求结束会触发,无论成功与否。

在jQuery 1.8上的 jqXHR 对象(返回者 $.ajax success 被替换为 done,error 被替换为 fail complete 被替换为 always

但您仍然应该能够使用旧语法来初始化AJAX请求。所以这些做类似的事情:

//before
var v1=$('#q1').val()
var v2=$('#q2').val()
$.ajax({
  type: "post",
  url: '...',
  data: {'a1':v1,'a2':v2},
  success: function(){
    alert('AJAX successful');
//after
var data = $("#XXXForm").serializeArray();
data = parseJson(data);
$.ajax({
		type: "post",
		url: contextPath + "/XX/xx",
		dataType: "json",
		contentType: "application/json",
		scriptCharset: "utf-8",
		async: false,
		data: JSON.stringify(data)
	}).done(function(data){
		alert('AJAX successful');
	}).fail(function(jqXHR, textStatus, errorThrown){
		alert(jqXHR.responseJSON.message);
	}).always(function( jqXHR, textStatus ){

然而,请注意,done现在已弃用而改为Promise使用的语法then

Promise规范中,then方法接受两个参数,分别是执行完成和执行失败的回调,而jquery中进行了增强,还可以接受第三个参数,就是在pending状态时的回调,如下:

deferred.then( doneFilter [, failFilter ] [, progressFilter ] )

除此之外,jquery还增加了两个语法糖方法,done和fail,分别用来指定执行完成和执行失败的回调,也就是说这段代码:

d.then(function(){
    console.log('执行完成');
}, function(){
    console.log('执行失败');
function success(responseText){
    console.log(1)
function fial(request){
    console.log(2)
$.ajax({
    url:'/xxx'
    method:'post'
}).then(success,fail)
//也可以这样写
$.ajax({
    url:'/xxx'
    method:'post'
}).then(
    (responseText) => {console.log('success')}
    ,(request) => {console.log('error')}
//.then()是可以有多个的

如对你有用的话,请给个赞或评论一下,谢谢

success只有在AJAX调用成功时才会触发,即最终返回HTTP 200状态。error如果失败并且complete请求结束,则会触发,无论成功与否。在jQuery 1.8上的jqXHR对象(返回者$.ajax)success被替换为done,error被替换为fail,complete被替换为always。但是,您仍然应该能够使用旧语法来初始化AJAX请求。所以这些做类似的事情://before$.ajax({ url: '...', success: function(){
对于$.ajax请求来说,如果层级比较多,程序看起来会比较乱,而为了解决这种问题,才有了$when…done…fail…then的封装,它将$.ajax这嵌套结构转成了顺序平行的结果,向下面的$.ajax写法,看起来很乱 $.ajax({ url: /home/GetProduct, dataType: JSON, type: GET, success: function (data) { $.ajax({ url: /home/GetProduct, dataType: JSON, type: GET, success: function (data) { type: "POST", url: "/login", data: {username:$("#username").val(), password:$("#password").val()}, dataType: "json", beforeSend: function(xhr){ //1.发送
$.ajax({})中的success()函数是ajax向后台请求成功后自动调用的,在success(response)函数里面的变量只有一个,response是后台返回来的值。 当后端没有给前端传回值时,$.ajax()中不会执行success,执行的是error。 在项目中,当后端servlet没给前端传回一个值时,$.ajax()执行的是error里面的程序;故特地设计给前端传...
动词过去式:ved 和 动词过去分词:done是长得特别相似的,如下: v:动词原型 ved:过去式 done:过去分词 doing:现在分词 help helped helped helping fuel fueled fueled fueling cost cost co #设置画布大小 # turtle.screensize(canvwidth=None, canvheight=None, bg=None) 画布的宽, 高, 背景颜色。 # turtle.screensize();默认状态,宽400,高300 # turtle.setup(width=0.5, height=0.75, startx=None, starty=None) # width, height: 输入宽和高为整数时, 表示像素;
$.ajax()代码模板 jQuery实现ajax语法为:$.ajax({}),其中{}为对象,对象里面的key键是固定的,比如: 1、type: 表示请求方式,一般为post或get 2、url表示请求的地址 3、contentType表示发送信息至服务器时内容编码类型 4、data表示发送到服务器的数据 5、dataType表示预期服务器返回数据的类型如:text,json,xml等等类型 6、success表示请求成功后的回调函数 7、error自动判断 (xml 或 html)。请求失败时调用此函数
在做项目的过程中,在ajax()方法中向后台请求成功后,需要在success()方法中调用自定义的参数,刚开始的写法如下:<script> var name = 'hello'; function getTypeList(){    $.ajax({      url :url, //填写实际的url      type : 'post',      cont...
先给大家介绍下Ajax概念 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以
1. 在HTML页面中创建一个表单,并绑定一个提交事件。 2. 在提交事件中阻止表单的默认行为,以便使用AJAX发送异步请求。 3. 使用AJAX发送一个POST请求到后端并传递表单数据。 4. 在后端接收到请求后处理数据并返回给前端。 5. 在前端通过success或者done回调处理返回的数据,例如将数据显示在页面上或者执行其他操作。 举个例子,下面是使用jQuery实现的AJAX异步请求获取表单返回的数据的示例代码: HTML代码: <input type="text" name="name" placeholder="请输入名字"> <input type="text" name="age" placeholder="请输入年龄"> <button type="submit">提交</button> </form> <div id="result"></div> JS代码: $('form').submit(function(event) { event.preventDefault(); // 阻止表单的默认提交 // 使用AJAX发送异步请求 $.ajax({ url: 'backend.php', // 后端接口地址 method: 'POST', data: $(this).serialize() // 将表单数据序列化成字符串传递给后端 }).done(function(data) { // 处理后端返回的数据 $('#result').html(data); 这样当用户点击提交按钮时,表单数据会被异步提交到后端并返回处理结果,结果会被显示在页面的result div中。