jquery ajax发布阻止表单提交

时间:2009-04-30 09:51:39

标签: jquery

场景:在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()。那里也没有运气。

非常感谢任何帮助......

此致 大卫

2 个答案:

答案 0 :(得分:0)

您没有提到您正在运行的Jquery版本。旧版本有一个已知的错误,正如您所描述的那样:http://dev.jquery.com/ticket/2935

答案 1 :(得分:0)

在服务器端,您需要检查用户是否仍与服务器连接。使用以下命令。

if (!Response.IsClientConnected)
{
   // process user request
}