今天遇到了一個極其奇怪的問題,用各種工具檢查都能看到伺服器端返回了200,數據也是正常的,但是$.ajax 始終進不到success,鬱悶啊,在網上找,
常見問題場景:
1.跨域;
2. $.ajax 沒設定 dataType,及伺服器端沒設定respon.ContentType
3. Json結構錯誤;
第一第二很快就排除了,到了第三重新度了Json的定義:http://www.json.org/json-zh.html,重新複習了下Json的定義:
鍵值對:鍵為string,值(value)可以是雙引號括起來的字串(string)、數值(number)、true、false、 null、物件(object)或是陣列(array)。這些結構可以嵌套。
原來定義的型別是
{isSuccess:true,message:'good'}
依照鍵的定義應該修改為
{'isSuccess':true,'message':'good'}
繼續執行還不行,依照值的定義修改:
{'isSuccess':true,'message':"good"}
徹底鬱悶了,這還不行
後面放下這裡仔細看了Json鍵值的規範,值要定義為雙引號的字串,為什麼是雙引號,那麼鍵呢,是不是需要?換成
{"isSuccess":true,"message":"good"}
直接通了。
Json的格式跟Javascript裡面物件的差別就在這裡,Json要求鍵,值必須是雙引號! !