[英]Javascript, Ajax & JSON: weird “xml processing” error when parsing response
我用jquery $.get()
進行了ajax調用,它返回一個json數組,並且在某些情況下可以正常工作。 但是,在其他情況下,在Firefox中,我收到一個奇怪的錯誤消息(德語翻譯):
XML處理錯誤:語法錯誤
這是json的結構,如Java控制台中的servlet所示:
[{"key":"...","type":"...","content":"..."},
{"key":"...","type":"...","content":"..."},
...]
這是使用JSON.stringify()
登錄ff控制台時的結構:
[{\"key":\"...",\"type":\"...",\"content":\"..."},
{\"key":\"...",\"type":\"...",\"content":\"..."},
...]
我的請求看起來像這樣:
$.get(url,
{"operation": "search", "searchText": searchText, "types": types, "resultNumber": 99},
function(data, status){
console.log(JSON.stringify(data));
});
我的用於創建JSON數組的java方法:
private JSONArray parseJSON (ArrayList<ResultObject> aResultList) throws JSONException
{
JSONArray resultJSONArray = new JSONArray();
for (ResultObject resultObject : aResultList)
{
JSONObject jsonObject = new JSONObject();
HashMap<String,String> fields = resultObject.getFields();
for (Map.Entry<String, String> entry : fields.entrySet())
{
jsonObject.put(entry.getKey(), entry.getValue());
}
resultJSONArray.put(jsonObject);
}
return resultJSONArray;
}
這里發生了什么? 返回的json中所有這些反斜杠來自何處?
看起來您的響應未如預期的那樣由jQuery處理。 嘗試添加一個
dataType:"json"
作為您請求的選項,還請注意服務器端在HTTP響應上設置了正確的標頭(內容類型:application / json)
因為從您的帖子中可以看到,就像您將字符串傳遞給JSON.stringify
希望我能對您有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.