我有一个http响应,其名称包含一个Unicode字符(例如Müller)。
在IE11中,我收到一条错误消息“ Invalid Character”,因为在IE11中,似乎整个HTTP响应都被读取为angular的HTTP响应中的字符串,并且它尝试将此字符串解析为JSON(而不是已经存在于JSON中)格式)。但是在JSON字符串中,它看起来像这样:
...,\"lastName\":\"M�}],\"id\":1,...
问题在于姓氏的一部分被剥夺了,现在lastName值缺少右引号。我不介意它显示菱形问号,现在完全破坏了响应。
在chrome中,它可以正常工作,因为数据实际上是作为JSON对象返回的,而与IE11不同的是,它作为字符串返回,然后尝试在默认的转换响应函数中转换为JSON。
该请求采用application / json字符集:utf-8格式。 响应为application / json格式。
有人知道怎么了吗?
编辑:在IE11的网络响应正文中,它以JSON格式正确显示为“Müller”。
编辑:返回响应时,它似乎吃掉了ü
之后的前5个字符。 (例如,穆勒拉(Mülleraa)的外观类似于...\"M�a\"...
,其中结尾的引号后面有一个附加的'a'字符)
答案 0 :(得分:0)
在您的请求中,添加:
headers: {
"Accept": "application/json;charset=utf-8",
"Accept-Charset":"charset=utf-8"
},