我一直在研究基于客户端服务器的跨平台移动解决方案。我正在使用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响应取消请求。甚至没有收到错误消息。 如果您需要任何进一步的信息,请告诉我。
答案 0 :(得分:0)
Long ajax连接 - 对服务器性能非常不利。每隔一段时间检查一次状态怎么样?您可以使用函数setInterval
来制作计时器。每次都会检查任务的状态。