我試圖使用xmlHttpRequest POST在Meteor項目中上傳文件。使用Django REST框架2.3.14。{Javascript}如何在調用POST時返回Json xmlHttpRequest
我使用:
var file = $('#control_import_file')[0].files[0];
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function (e) {
if (e.target.status == 200) {
var resp = JSON.parse(e.target.response);
if (resp.status == 'success') {
alert("success");
} else {
alert("fail");
}
}
};
xmlHttpRequest.onload = function() {};
xmlHttpRequest.open("POST", "http://mydemosite.net/orders/import-coupon/25/", true);
if (window.FormData) {
var formData = new FormData();
formData.append("datafile", file);
xmlHttpRequest.send(formData);
}
在鍍鉻時,它返回:
事件{isTrusted:真,類型: 「readystatechange」,目標: 的XMLHttpRequest,currentTarget當前:XMLHttpRequest的,的EventPhase:2 ...}
所以我可以很容易地得到JSON字符串:target.response object:
「」{「status」:「error」,「data」:{「error_data」:[「test123」], 「error_code」:0,「error_msg」:「檢查失敗」},「error_data 「: [」 test123 「], 」ERROR_CODE「:0 」ERROR_MSG「: 」檢查失敗「}」
JSON.parse(e.target.response); - >搞定我想要的。
但是在Firefox中:它返回所有JSON字符串上面以HTML格式:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="robots" content="NONE,NOARCHIVE"...</html>
任何人都可以幫助我如何處理在Firefox錯誤響應?或者有什麼方法可以在所有瀏覽器中獲得響應? 非常感謝!
你爲什麼不使用jQuery
檢查? –
相關http://i.stack.imgur.com/ssRUr.gif - 不是對你的抨擊@DanielRoseman,正是我認爲每當有人表示它時! :) –