如何查明在(异步)jQuery AJAX 请求完成后传递了哪些参数?
基本上,我正在触发一堆 AJAX 请求,并以不同的 id 作为参数传递,并在每个请求完成时向用户显示结果。现在,如果请求成功,我可以将 id 传回请求结果中。但是,如果请求失败,我不知道哪个请求失败,即该请求的 id 是什么。
示例(javascript/jQuery):
for(var i=0; i < 10; i++ ) {
$.ajax({
type: "GET",
url: "get-results.php",
data: { 'id': i },
success: function(data, textStatus, xmlReq) {
data = $.parseJSON(data);
$("#result" + data.id).html(data.result);
},
error: function(xmlReq, textStatus, errorThrown) {
var id= ???;
$("#result" + id).html('error bla bla');
}
});
}
最佳答案
$.ajaxError
为您提供通过 AJAX 调用发送的数据。
.ajaxError(处理程序(事件, XMLHttpRequest, ajaxOptions, throwedError))
ajaxOptions
对象包含可以通过 $.ajax
设置的所有选项
因此,不要使用 $.ajax
中的 error:
选项,而是使用 $.ajaxError
。
$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError){
if(ajaxOptions.url.indexOf('get-results.php') != -1){
var data = ajaxOptions.data; // this is a string: 'id=1¶m2=4'
// to get the ID, you need to parse this
}
});
关于javascript - 完成后获取 jQuery AJAX 请求的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4692099/