0

我一直在研究基于客户端-服务器的应用程序的跨平台移动解决方案。我正在使用 ajax 调用对服务器进行 Web 服务调用。大多数 Web 服务工作正常,但是当需要根据请求在服务器端进行一些计算并且响应存在延迟时,我将状态 0 作为响应。尝试使用超时选项,但没有用。添加一些相同的代码片段供您参考。

$.ajax({
        type: "POST",
        url: wsUrl,
        contentType: "text/xml",
        dataType: "xml",
        timeout: 300000,
        data: soapRequest,
        success: processSuccess,
        error: processError
});

function processSuccess(data, status, req)
{
}

function processError(data, status, req) 
{
   console.log(data+'---------   '+status+'-------- '+req);
}

有时,如果服务器响应很快,我们会得到预期的响应,但大多数时候,我们会收到状态 0 错误。通常在 2 分钟后我收到此错误。在本机 android 应用程序中尝试相同的代码可以正常工作,没有任何问题。是否有任何选项可以确保在从服务器获取完整响应之前请求不会中断。可能是我错了,但如果不是,在进行 Web 服务调用时是否有任何选项可以设置周转时间?由于这是一个基于移动浏览器的应用程序,如果响应时间超过 2 分钟,浏览器是否可以选择以状态 0 响应取消请求。甚至没有收到错误消息。如果您需要任何进一步的信息,请告诉我。

4

1 回答 1

0

长 ajax 连接 - 对服务器性能非常不利。每隔一段时间检查一次状态怎么办?您可以使用setInterval制作计时器的功能。并且每个时间段您都会检查任务的状态。

于 2012-11-27T07:28:28.070 回答