Javascript 使用jQuery的多个Ajax调用
我是jQuery新手,需要检索多个ajax调用的状态代码。对于每个ajax调用,我需要显示两条警报弹出消息中的任意一条:1)成功(如果状态代码为200)2)失败(对于除200状态代码以外的任何情况) 我能够显示成功警报弹出窗口,但不确定如何/在何处显示失败消息:Javascript 使用jQuery的多个Ajax调用,javascript,jquery,ajax,Javascript,Jquery,Ajax,我是jQuery新手,需要检索多个ajax调用的状态代码。对于每个ajax调用,我需要显示两条警报弹出消息中的任意一条:1)成功(如果状态代码为200)2)失败(对于除200状态代码以外的任何情况) 我能够显示成功警报弹出窗口,但不确定如何/在何处显示失败消息: $(document).ready(function() { $("#btnSubmit").click(function(){ for (var i = 8078; i < 8085;
$(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');
}
}
});
};
});
});
$(文档).ready(函数(){
$(“#btnsupmit”)。单击(函数(){
对于(变量i=8078;i<8085;i++){
jQuery.ajax({
“url”:”http://localhost:“+i+”/test/”,
数据类型:“jsonp”,
跨域:是的,
async:false,
状态代码:{
200:函数(){
警惕(“成功”);
}
}
});
};
});
});
请让我知道如何处理故障场景。而且,我不确定我是否正确地使用了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');
},
});
}
});
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!');
}
});
我尝试过,但没有按预期工作…对于错误,警报只显示一次而不是多次显示…有帮助吗?我尝试过,但没有按预期工作…对于错误,警报只显示一次而不是多次显示…有帮助吗?我尝试过,但没有按预期工作…对于错误,警报只显示一次而不是多次显示…有帮助吗?每个ajax请求只显示一次,因此,您一次只会收到一个错误是否有某种方法可以获得状态文本,例如状态代码:200,我需要状态文本为
OK
等等?是的。。。在成功函数xhr.status中。在错误函数xhr.status中
async:false,
success: function(data,textStatus,xhr){
// handle success
},
error: function(xhr,textStatus,error){
// handle error
},..