首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >刷新AJAX调用

刷新AJAX调用
EN

Stack Overflow用户
提问于 2015-03-13 18:56:43
回答 1查看 23关注 0票数 0

我在cordova应用程序中有一个AJAX调用。在实际调用之前,我已经检查了互联网连接的可用性。但是在移动互联网中的某些时候,在进行呼叫之后,连接丢失了几秒钟,因此设备不从web服务读取任何回复。它转到Ajax调用的错误部分。我想再次调用此Ajax,以便创建DOM

调用AJAX函数是

代码语言:javascript
运行
复制
function callAjax(type, mainurl, dataType, data, successFunction, errorFunction){

    if(isOnline == false)
    {
        alert('Internet is not running. Please reconnect and try');
        return 0;
    }

    $.ajax({
        crossDomain: true,
        async:false,
        type: type, 
        url: mainurl,
        dataType: "json",
        data: data,     
        beforeSend:function(jqXHR,settings){    
           jqXHR.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
           },
        success: function(data) {
            successFunction(data);
        },
        error: function(response) {
           // alert(JSON.stringify(response));
            errorFunction(response);

        }
    });
}
EN

回答 1

Stack Overflow用户

发布于 2015-03-13 19:09:14

如果你想在出错后重试,你可以递归地重新调用你的函数,或者像这样做,以防止过多的重试:

代码语言:javascript
运行
复制
function callAjax(type, mainurl, dataType, data, successFunction, errorFunction){

    if (isOnline == false) {
        alert('Internet is not running. Please reconnect and try');
        return 0;
    }

    function tryAjax(retryCount) {
        $.ajax({
            crossDomain: true,
            async:false,
            type: type, 
            url: mainurl,
            dataType: "json",
            data: data,     
            beforeSend:function(jqXHR,settings){    
               jqXHR.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
            },
            success: function(data) {
                successFunction(data);
            },
            error: function(response) {
                if (retryCount >  10) {                
                    errorFunction(response);
                } else {
                    tryAjax(retryCount + 1);
                }
            }
        });
    }

    tryAjax(0);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29030461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档