最近在開發ExtJS的項目中,遇到了一個問題:從后臺返回的JSON數據中包含了回車符,導致在ExtJS界面中無法正確顯示,出現了一些莫名其妙的錯誤。
經過分析,我發現是因為回車符被轉義成了"\r\n",而ExtJS默認是不會將"\r\n"解析成回車符的。解決辦法就是手動解析JSON字符串中的"\r\n",將它們替換成HTML中的"
"標簽,以使其在瀏覽器中正確顯示回車。
var jsonData = Ext.JSON.decode(response.responseText); for (var i = 0; i< jsonData.length; i++) { jsonData[i].content = jsonData[i].content.replace(/\r\n/g, '
'); }
這段代碼中,我首先使用Ext.JSON.decode將JSON字符串轉化為JavaScript對象,然后遍歷其中的所有對象,將content字段中的所有"\r\n"替換成"
"標簽。
經過這樣的處理,ExtJS界面中就可以正確顯示從后臺返回的帶有回車的JSON數據了。