jQuery ajax调用在移动解决方案中给出状态0

时间:2012-11-27 07:19:35

标签: jquery jquery-mobile

我一直在研究基于客户端服务器的跨平台移动解决方案。我正在使用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应用程序中尝试相同的代码工作正常,没有任何问题。是否有任何选项可确保在从服务器获取完整响应之前请求不会中断。 可能是我错了,但如果不是,在进行网络服务电话时,是否有任何选项可以设置周转时间?由于这是一个基于MOBILE BROWSER的应用程序,如果响应时间超过2分钟,浏览器是否可以选择使用状态0响应取消请求。甚至没有收到错误消息。 如果您需要任何进一步的信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

Long ajax连接 - 对服务器性能非常不利。每隔一段时间检查一次状态怎么样?您可以使用函数setInterval来制作计时器。每次都会检查任务的状态。