javascript - 重试时更改 ajax 数据

标签 javascript

有没有办法在 ajax 重试时更改提供的数据?我想使用传入数据参数的 user="auth"进行第一次调用,如果失败,则将用户更改为“ANON”并重试调用这个新的数据参数。按照我在下面设置的方式,用户显示为未定义。

     $.ajax({
            url : proxyurl,
            type : 'GET',
            dataType : 'xml',
            user : "auth",
            tryCount : 0,
            retryMax : 2,
            data : {'apireq': apiurl+"?user="+this.user},
            success : function(data){

            },
            error: function(xhr,textStatus,errorThrown){    
                   if (textStatus == 'parsererror') {
                       this.user = "ANON";
                       this.tryCount++;
                       if (this.tryCount <= this.retryMax) {
                           $.ajax(this)                                         //try the call again
                           return;
                       }            
                       return;
                   }
            }
     });

最佳答案

我们能够得出以下解决方案:

error: function(xhr,textStatus,errorThrown){    
    if (textStatus == 'parsererror') {
        this.user = "ANON";
        this.data = {'apireq': apiurl + "?user=" + this.user };
        this.tryCount++;
        if(this.tryCount <= this.retryMax) {
            $.ajax(this); //try the call again
            return;
        }            
        return;
    }
}

关于javascript - 重试时更改 ajax 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28222238/

相关文章:

javascript - JSDoc 注释 block 中是否允许使用制表符?

javascript - Flex 与 HTML5/TypeScript 之间的通信

javascript - 为类型为 'document' 的请求获取元数据时发送自定义 header

javascript - 使用 AngularJS 匹配一个或多个字母数字字符

javascript - JavaScript 中未知大小的多维数组

javascript - react 福米克 : how to use custom onChange and onBlur

javascript - 不要读取node.js中的JSON对象

java - 如何检测 GWT 元素是否可见?

javascript - [Python][Javascript] 无法弄清楚如何将 API 调用从 NEXTjs 网页 GUI 发送到 Python Falcon 后端

javascript - 同位素转换 'flash' 错误(Chrome)