我有一个ajax请求:
$.ajax({
url: webURL,
type: 'post',
data: somedata,
cache: false,
datatype: "json",
contentType: "application/json",
success: successFunc,
error: function(jqXHR, textStatus, errorThrown)
{
console.log("Status: " + textStatus);
console.log("Error: " + errorThrown);
alert("Some error!")
}
});
服务器上的此请求实际上对数据库执行长时间运行的查询(大约需要十分钟)。
但是,这个请求会在大约3-5分钟内返回,并且会一直显示“#34;某些错误的警告!”#34;。但是在服务器上,数据库查询仍在运行,从未返回!这只发生在Firefox上。它适用于Chrome。 textStatus字段返回"错误"和errorThrown是空白的。
在服务器发送响应之前,任何人都可以帮助我解释为什么这个ajax请求会返回吗?
这种情况仅发生在Firefox上,并且长时间运行的请求需要6-7分钟才能返回。
我有一个相关的问题。我看到Firefox在几分钟后仍在重试ajax请求。所以我的代码检查请求是否已经存在于缓存中。如果是,则缓存只是继续轮询,直到查询结果也在缓存中。问题是,如果Firefox正在重试请求,这将如何影响请求?是否有多个请求在缓存上等待,或者一次只有一个请求并且旧连接一直关闭?
答案 0 :(得分:0)
试试这个代码......
$.ajax({
type: "POST",
url: "Default.aspx/sayHello",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function(response)
{
alert(response.d);
},
error: function(response)
{
alert(response.status);
}
});