[英]Multiple Ajax Calls using jQuery
我是jQuery的新手,我需要检索多个ajax调用的状态代码。 对于每个ajax调用,我需要显示两个警报弹出消息之一:1)成功(如果状态代码为200)2)失败(对于200状态代码以外的任何内容)
我能够显示成功警报弹出窗口,但不确定如何/在何处显示失败消息:
$(document).ready(function() {
$("#btnSubmit").click(function(){
for (var i = 8078; i < 8085; i++) {
jQuery.ajax({
'url': 'http://localhost:' + i + '/test/',
dataType : 'jsonp',
crossDomain:true,
async:false,
statusCode: {
200: function() {
alert('Success');
}
}
});
};
});
});
请让我知道如何处理失败情况。 另外,我不确定是否正确使用了For循环。 请指导。
您在$.ajax
具有称为error
属性。 您可以尝试如下操作:
$("#btnSubmit").click(function(){
for (var i = 8078; i < 8085; i++) {
jQuery.ajax({
'url': 'http://localhost:' + i + '/test/',
dataType : 'jsonp',
crossDomain:true,
async:false,
statusCode: {
200: function() {
alert('Success');
},
error:function(data){
alert('Failed');
},
});
}
});
同样,您有success
检查success
响应
更新
您可以尝试另一种方法来完成此操作,如下所示:
for (var i = 8078; i < 8085; i++) {
jQuery.ajax({
'url': 'http://localhost:' + i + '/test/',
dataType : 'jsonp',
crossDomain:true,
async:false,
})
.done( function( data ) {
// Handles successful responses only
})
.fail( function( reason ) {
// Handles errors only
console.debug( reason );
})
.always( function( data, textStatus, response ) {
// If you want to manually separate stuff
// response becomes errorThrown/reason OR jqXHR in case of success
})
.then( function( data, textStatus, response ) {
// In case your working with a deferred.promise, use this method
// Again, you'll have to manually separates success/error
});
}
我发现此链接表明有两个选项可以管理错误和成功。 您可以执行以下操作:
jQuery.ajax({
'url': 'http://localhost:' + i + '/test/',
dataType : 'jsonp',
crossDomain:true,
async:false,
statusCode: {
200: function() {
alert('Success');
}
},
error: function(xhr,status,error) {
alert('error!');
}
});
async:false,
success: function(data,textStatus,xhr){
// handle success
},
error: function(xhr,textStatus,error){
// handle error
},..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.