场景:在html输入控件的onblur事件中,我向资源发送异步http帖子,即t.aspx。
我不关心它是否会返回,但是如果用户点击提交,我希望表单提交。
我在使用我们的模拟器时看到的是,当我点击提交时减慢t.aspx需要10秒(page_load Thread.Sleep(10000))时,它继续等待10秒的剩余时间然后提交。
我需要立即提交表格。以下是ajax代码的片段
var _requestData =“{”+“\”subject \“:{”+“\”param1 \“:\”“+ $(”#param1“)。val()+”\“,”+“ \“param2 \”:\“”+ $(“#param2”)。val()+“\”“+”}“+”}“;
$。ajaxSetup({ url:“t.aspx”, 类型:“POST”, processData:false, contentType:“application / json”, dataType:“json”, 成功:sucessfulCallback, 错误:unsucessfulCallback });
$。AJAX({ data:_requestData });
我还尝试了var myAjax = $ .ajax .....并在表单提交中调用myAjax.abort()。那里也没有运气。
非常感谢任何帮助......
此致 大卫
答案 0 :(得分:0)
您没有提到您正在运行的Jquery版本。旧版本有一个已知的错误,正如您所描述的那样:http://dev.jquery.com/ticket/2935。
答案 1 :(得分:0)
在服务器端,您需要检查用户是否仍与服务器连接。使用以下命令。
if (!Response.IsClientConnected)
{
// process user request
}