天天看點

jquery.form.js ajax上傳檔案問題

問題:使用jquery.form.js實作ajax上傳檔案功能,當服務端傳回json格式的字元串,并且頭資訊是application/json時,用戶端代碼success回調函數無法執行。

原因:由于jquery.form.js在實作ajax上傳檔案時采用了iframe的實作方式,是以用戶端在接收text或html格式的結果時沒有問題。但是當用戶端接收json格式時,就産生了問題。

解決方案:jquery.form.js官方推薦這種情況下服務端需要做些事情,輸出如下格式的json代碼

<textarea>

{"a1":"a1","b1":"b1"}

</textarea>

或者,直接輸出json格式的字元串,但是頭資訊仍然使用plain/text。

參考:http://jquery.malsup.com/form/#file-upload