访问帖子请求's成功/完成/错误函数中的参数数据
Access to the post request's argument data in succeed/complete/error functions
我有一堆jQuery AJAX发布请求封装在for
循环中。每个请求都提供不同的参数。我的问题是,如果请求失败,如何判断该请求传递了哪些参数数据?
当我尝试时:
for(i = 0; i < toSubmit.length; i++) {
$.post('doSomething.php',
{id: toSubmit[i]},
function(data) { /* Do something here */ },
'json')
.error(function() {
console.log(toSubmit[i] + " didn't work!");
});
}
error
函数将只输出toSubmit
中的最后一个值,因为i
指针一直在for
循环中前进,而请求是异步触发的。同样的事情发生在success
和complete
函数中;我解决这个问题的方法是确保返回的JSON包含相应的id
;但是如果请求失败,我就不能使用这种变通方法。
有没有办法让我了解这些信息,或者有没有更好的方法来拒绝这些请求?
似乎必须为方法调用设置正确的上下文。您可以查看jQueryproxy()方法,该方法允许您为回调提供正确的上下文。
试试这样的东西:
for(i = 0; i < toSubmit.length; i++) {
var ctx = {id: i};
$.post('doSomething.php',
{id: toSubmit[i]},
function(data) { /* Do something here */ },
'json')
.error( $.proxy(function() {
console.log(this.id + " didn't work!");
}, ctx) );
}
试试这个:
beforeSend:function(jqXHR, settings){
jqXHR.parameters = { /* data or parameters store here*/}
}
error: function(jqXHR, textStatus, errorThrown){
var params = jqXHR.parameters
}
相关文章:
- 错误:对象没有't支持'自动完成'
- jquery ui自动完成导致标头错误
- 由于错误80020101(v1.5.3),GMLib无法完成操作
- 在动态crm 2011中,右键单击已完成活动的只读文本时,您是否出现错误
- JavaScript运行时错误:完成此操作所需的数据尚不可用
- 有人能发现我的错误吗(自动完成文本框)
- 为什么 AJAX 完成和错误回调都触发了
- Aptana插件用于eclipse错误识别和自动完成
- Javascript:对象在自动完成时应出现错误
- Gulp 4 迁移错误(您是否忘记发出异步完成信号?
- 由于错误80020101,无法完成操作
- JavaScript 运行时错误:由于错误80020101,无法完成操作
- Jquery 谷歌自动完成不起作用 - 没有错误
- 在 IE8 中的 ajax 请求给出此错误后:由于错误80020101,无法完成操作
- 由于 IE 中的错误80020101,无法完成操作
- 由于错误80020101,无法完成操作.即
- 延迟链接 - 然后在上一个调用完成但出现错误时调用成功回调
- AutoCOmplete 不会在 php 中给出自动完成未定义的错误
- 在为 jquery 自动完成设置源代码时获取“语法错误:缺少:在属性 ID 之后”
- 在错误的表单字段上自动完成