上传数据时 ajax请求成功 上传完成,ajaxSubmit请求返回数据成功,但是不执行success回调函数...
this.pluploader = new plupload.Uploader({
runtimes: 'html5,flash,silverlight,html4', //上傳方式
headers: {Accept: 'application/json; charset=utf-8'},
browse_button: arr, //觸發按鈕
url: this.uploaderUrl,
flash_swf_url: '../common/lib/plupload/Moxie.swf', //flash上傳組件的地址
silverlight_xap_url: '../common/lib/plupload/Moxie.xap',
multi_selection:false,//不可選擇多個文件同時上傳
filters: {
max_file_size: '50mb' //限定文件大小
// prevent_duplicates: true, //是否允許選取重復文件,默認false為允許
}
});
以后我知道原因會更新的。。。
二、無奈,換了ajaxSubmit來做上傳,這個方法很久前被我拋棄了,因為在ie9,ajaxSubmit請求返回數據成功,但是不執行success回調函數。
今天終于找到原因了,是返回數據的數據類型問題,ie9返回的數據是json字符串,不是對象。心累。
設置請求參數 dataType:'text',就可以進入success,將數據類型JSON.parse()轉成對象就行了。
this.$el.find("form"+'.'+targetClass).ajaxSubmit({
url: this.uploaderUrl,
contentType: "application/x-www-form-urlencoded; charset=utf-8",
dataType:'text',
enctype:"multipart/form-data",
method:"POST",
type:"POST",
data:obj,
success: $.proxy(function (result, status) {
if(typeof(result)==='string'){
result = JSON.parse(result)
}
if (result.success) {
//上傳成功
} else {}
},this),
error:function(res) {}
});
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的上传数据时 ajax请求成功 上传完成,ajaxSubmit请求返回数据成功,但是不执行success回调函数...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 向腾讯云windows服务器传输文件,如
- 下一篇: pi数据库系统中国服务器,基于PI数据库