我这样编码:
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID },
success: function (data) {
$('#CityID').html(data);
},
error: function (ajaxContext) {
alert(ajaxContext.responseText)
}
});
Run Code Online (Sandbox Code Playgroud)
但是当我最后查看jQuery .ajax()文档时,似乎建议我应该像下面这样编码,或者至少它建议添加一个.done()和一个.fail():
var request = $.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
});
request.done(function (data) {
xxx;
});
request.fail(function (jqXHR, textStatus) {
xxx;
});
Run Code Online (Sandbox Code Playgroud)
更新
如果我这样的代码是相同的,还是有一些优势将它分成三个?
$.ajax({ cache: false,
url: "/Admin/Contents/GetData",
data: { accountID: AccountID }
}).done(function (data) {
xxx;
}).fail(function (jqXHR, textStatus) {
xxx;
});
Run Code Online (Sandbox Code Playgroud)
Mic*_*gue 156
如user2246674所述,使用success和error作为ajax函数的参数是有效的.
为了与先前的答案保持一致,阅读文档:
弃用通知:
jq 1.8中将不推荐使用jqXHR.success(),jqXHR.error()和jqXHR.complete()回调.要准备最终删除的代码,请使用jqXHR.done(),jqXHR.fail()和jqXHR.always().
如果您使用的是回调处理函数(使用链式方法调用为例),使用.done(),.fail()和.always()代替success(),error()和complete().
Ivi*_*pić 11
我想在@Michael Laffargue的帖子上添加一些内容:
jqXHR.done() 是比较快的!
jqXHR.success()在回调中有一些加载时间,有时可能会过度杀死脚本.我发现之前很难.
更新:
使用jqXHR.done(),jqXHR.fail()并且jqXHR.always()可以更好地与Ajax请求处理.通常,您可以在某个变量或对象中定义ajax,并在代码的任何部分使用该变量或对象,以更快地获取数据.好例子:
/* Initialize some your AJAX function */
function call_ajax(attr){
var settings=$.extend({
call : 'users',
option : 'list'
}, attr );
return $.ajax({
type: "POST",
url: "//exapmple.com//ajax.php",
data: settings,
cache : false
});
}
/* .... Somewhere in your code ..... */
call_ajax({
/* ... */
id : 10,
option : 'edit_user'
change : {
name : 'John Doe'
}
/* ... */
}).done(function(data){
/* DO SOMETHING AWESOME */
});
Run Code Online (Sandbox Code Playgroud)
小智 6
简单来说
$.ajax("info.txt").done(function(data) {
alert(data);
}).fail(function(data){
alert("Try again champ!");
});
Run Code Online (Sandbox Code Playgroud)
如果它获取info.text然后它会提醒你和你添加的任何功能,或者如果有任何无法从服务器检索info.text然后提醒或错误功能.
| 归档时间: |
|
| 查看次数: |
232155 次 |
| 最近记录: |