2016-01-22 115 views
0

我在使用ajax在Internet Explorer中顯示json響應時出現問題。其他瀏覽器正確顯示它。但在Internet Explorer中顯示爲??????。在Internet Explorer中的Json響應問題

響應頭是

Key Value 
Response HTTP/1.1 200 OK 
Server Apache-Coyote/1.1 
Pragma no-cache 
Cache-Control private, max-age=0, no-store, no-cache 
Expires Fri, 22 Jan 2016 03:50:17 GMT 
Cache-Control no-cache, no-store, max-age=0, must-revalidate 
Pragma no-cache 
Expires 0 
X-XSS-Protection 1; mode=block 
X-Frame-Options SAMEORIGIN 
X-Content-Type-Options nosniff 
Content-Type text/html;charset=UTF-8 
Content-Length 145 
Date Fri, 22 Jan 2016 03:50:17 GMT 

但在Internet Explorer響應體是作爲

{"data":null,"status":2,"message":"Request succeeded","errors":{"data1":"??????????????","data2":"??????????????"}} 

在所有其他的瀏覽器是正確顯示

+1

的瀏覽器不控制響應主體。聽起來就像你有一個服務器問題。 – 2016-01-22 04:06:40

+0

'request body'中一定有一些東西缺失,這是服務器端邏輯所不期望的,它會以這種方式作出響應。 – Rayon

+0

它在所有其他瀏覽器中運行良好。在響應主體也在這些瀏覽器中以所需的格式獲取消息。我正在嘗試顯示日語信息。但在響應標題我設置字符集爲UTF-8 –

回答

1

我已經找到答案了點。它是服務器中的一個問題。我們必須在服務器中將響應內容類型設置爲text/plain。以下是我的代碼,解決了我的問題。

@RequestMapping(value = "/uploading", method = RequestMethod.POST, produces = "text/plain;charset=UTF-8") 
public @ResponseBody 
String upload(@RequestParam(value = "file", required = false) MultipartFile file, Locale locale) { 
//opertions here 
return jsonSerializer.serialize(message); 
} 

欲瞭解更多詳情,請通過該鏈接 UTF-8 encoding problem in Spring MVC