2010-05-13 36 views
9

我必須從資源索引頁面獲取響應文本作爲JSON對象。當我不在請求中加入一個Accept標頭時,它顯示我的xml響應(我在一個警報中看到它)。xmlhttprequest responsetext接受header:text/xml,但服務器錯誤的應用程序/ JSON

但是我想把響應作爲一個JSON對象..我該怎麼做。一個解決辦法是

httpRequest.setRequestHeader('Accept', 'application/JSON'); 

,但是這給了我一個服務器錯誤:500

而且它說

消息正文作家Java類型,類...,和MIME媒體類型,應用程序/八位字節流,沒有被發現

有人可以建議做些什麼來克服這一點,得到的響應爲JSON?

+1

的JSON正確的MIME類型爲'應用程序/ json',不'應用/ JSON'。如果你嘗試了會發生什麼? – 2010-05-13 06:47:51

+0

Hey T.J.克勞德,謝謝!這是問題! accept頭文件必須用小寫字母而不是Caps! 所以答案是:httpRequest.setRequestHeader('Accept','application/json'); 其json而不是JSON – encryptor 2010-05-13 06:52:05

+0

大聲笑!在這裏,我寫了它作爲答案,然後認爲「不,那不會是它,只是做一個評論」,並刪除了我的答案。那會教我。我已經取消了我的回答。 – 2010-05-13 07:04:25

回答

20

JSON的正確MIME類型是application/json,而不是application/JSON。這可能是問題所在。

3

httpRequest.setRequestHeader('Accept','application/json');它的JSON和JSON不

0

你也可以添加文字/ JavaScript的額外默爲:

httpRequest.setRequestHeader('Accept', 'application/json, text/javascript'); 
相關問題