var updateTh = function (){
var options={
url:'${ctx}/Controller/importData',
type:'post',
dataType :"json",
success:function(data){
alert(data.respCode);
},
error:function (XMLHttpRequest,textStatus,errorThrown) {
alert("error");
alert("textStatus===>"+textStatus);
alert("errorThrown===>"+errorThrown);
alert("XMLHttpRequest===>"+JSON.stringify(XMLHttpRequest));
}
};
$("#fileForm").ajaxSubmit(options);
上传的文件是 csv 格式 ,长传后,需要后台处理,然后返回结果。
上传过程没有问题 ,但是在等待后台处理时,会抛出异常
火狐异常:{"readyState":0,"responseTest":"","status":0,"statusText":"error"}
ie异常:textStatus aborted errorThrown server abort
大约请求超过25秒 ,会抛异常,但有时超过25秒也不会抛异常,时好时坏。
通过firebug看 jQuery 停在 xhr.send( ( s.hasContent && s.data ) || null ); 这行代码。 哪位高手 给解答下是什么问题
检查下你的jquery的ajax是不是设置过timeout了,如果设置过timeout超时就会abort掉这个请求
还有就是你服务器端的配置,看允许脚本执行的超时时间设置是多少
那在ajaxForm里怎么用abort呢?var timeOut=$("form").ajaxForm({
timeout: 10000,
dataType: 'json',
complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数
if(status=='timeout'){//超时,status还有success,error等值的情况
art.dialog({content: '系统繁忙,请稍后再试!', icon: 'error', time: 1.5});
timeOut.abort();
}
},
success: function (data) { },
error: function () { }
});
这样报abort 是not a function