1. 程式人生 > >前端接收不到後臺發來的JSON問題原因

前端接收不到後臺發來的JSON問題原因

昨天在做一個頭像上傳的功能,要求選擇完成圖片以後立刻完成上傳功能並且在頁面上顯示,需要用到非同步上傳,就是用了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