繁体   English   中英

我的jquery收到对服务器的请求超时后是否中止

[英]Does my jquery get request to server get aborted after timeout

我有一个网络应用程序。

它是用asp.net,javascript和jquery编写的。

我在页面上有一个计时器。 它将每100毫秒“ ping”我的服务器(由于javascript中计时器的性质,我不保证这样做)。

所以,这是我的代码:

function GetImageStatus() {
    var val = url + '/Mobile/isNewFrame.ashx?Alias=' + Alias + '&CamIndex=' + camIndex + '&Version=' + version + '&GuidLogOn=' + guidLogOn;
    jQuery.get(val)
    .success(function (data) {
        //invalid session
        if (data == '-2') {
            document.location.reload(true);
        }
        else {
            //do something useful
        }
    })
    .error(function (jqXHR, textStatus, errorThrown) {
        var ct = XMLHttpRequest.errorThrown;
        $("#divVersion").html(ct);
    });
}


function Start()
{
    if (timer4x4) window.clearTimeout(timer4x4);
    timer4x4 = window.setTimeout(GetImageStatus, tmrInterval);
}

var timer4x4;
var tmrInterval = 100;

所以,我的问题是这个。 如果ping / get呼叫花费的时间比我的tmrInterval长,那么在发起下一个呼叫之前该呼叫是否中止?

不。我建议使用带有超时选项的jQuery ajax ,例如:

$.ajax({
    url: val,
    type: 'GET',
    timeout: tmrInterval,
    success: function (data) {
        //invalid session
        if (data == '-2') {
            document.location.reload(true);
        }
        else {
            //do something useful
        }
    },
    error: function (jqXHR, textStatus, errorThrown) {
        var ct = XMLHttpRequest.errorThrown;
        $("#divVersion").html(ct);
    }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM