前端接收不到後臺發來的JSON問題原因
阿新 • • 發佈:2019-02-13
昨天在做一個頭像上傳的功能,要求選擇完成圖片以後立刻完成上傳功能並且在頁面上顯示,需要用到非同步上傳,就是用了ajaxSubmit()進行表單的上傳操作,但是不管怎麼弄前臺都接收不到後端發來的json資料,設定dataType為text倒是能接收到,鬱悶了好長時間。
一開始我的json資料是這樣的:
"{fileName:picture.jpg}"
後來我認為是自己的json格式有問題,就改成了這樣:
"{fileName:\"picture.jpg\"}"
還不行,就改成這樣:
"{\"fileName\":\"picture.jpg\"}"
果然,是json的問題,自己蠢了。然而人要有刨根問底的精神,在部落格上搜了一下,果然有人也遇到過這樣的問題,而由於這樣的不嚴謹的json格式產生BUG的歷史是這樣的:
“json”: Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)
標準的json格式如下
1)鍵名稱:用雙引號 括起
2)字串:用使用雙引號 括起
3)數字,布林型別不需要 使用雙引號 括起
想知道詳細戳這裡: json線上API