使用:
Jquery 1.9.1
malsup表单插件使用类似于JSON的例子:http://malsup.com/jquery/form/#json
<Meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> with of without same error <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
互联网浏览器(8/9/10)将随机中止AJAX POST请求(非常随机)
通过中止,我的意思是,没有人通过http“完全”发送 – 它只是中止,然后把眼泪放在眼里.
F12开发工具网络下载:
URL我的网址是正确的
结果(中止)它字面上读取(中止)
键入空白 – 在这里字面上没有
收到0B
取202ms
发起者(待定)它字面上读(待定)
开始捕获请求:
请求标题为空
请求体为空
电子邮件是空的
但是在“时间表”选项卡下,我注意到它按顺序说
等待
开始
开始
间隙
DOMContentLoaded(event)
负载(事件)
应该开始有两次?或者我以某种方式提交请求两次,这是导致中止的.
我会说,成功的POSTS在定时选项卡下启动两次.
我也是console.log错误并得到:
xmlhttprequest.ReadyState 4
xmlhttprequest.Status:12019
这当我点击提交第二次它工作.客户不会喜欢这个…
$('#formId').ajaxForm( { dataType : 'json',cache: false,beforeSend: beforeGenericPostForm,success : FormResponse,error: genericError }); $('#formSubmitId').click(function(e){ e.preventDefault(); //perform some custom simple form validation - return false if problem $('#formId').submit(); });
我可以通过console.log直到beforeSend结束:beforeGenericPostForm,函数,然后它死/中止.
这是我一直在寻找的年龄,找不到决心.
我的表单是标准的HTML表单,我发布应用程序/ x-www-form-urlencoded并从头服务器接收JSON应用程序/ json;字符集= utf-8的
有谁有任何线索或类似的问题吗?
http://bugs.jquery.com/ticket/9352
非常感谢,如果你有任何建议,持有从一年的发展推出,因为现在.
解决方法
我找到了这个:
http://cypressnorth.com/programming/internet-explorer-aborting-ajax-requests-fixed/
if ($.browser.msie && window.XDomainRequest) { // Use Microsoft XDR var xdr = new XDomainRequest(); xdr.open("get","someurl"); xdr.onload = function () { var JSON = $.parseJSON(xdr.responseText); if (JSON == null || typeof (JSON) == 'undefined') { JSON = $.parseJSON(data.firstChild.textContent); } processData(JSON); }; xdr.onprogress = function(){ }; xdr.ontimeout = function(){ }; xdr.onerror = function () { }; setTimeout(function(){ xdr.send(); },0); }
然后做一个其他的,并做jQuery的最新,体面的浏览器.