当前位置: 首页 > 知识库问答 >
问题:

IE - Angular的json响应包含删除了额外字符的unicode字符。无效的JSON

孙元明
2023-03-14

我有一个http响应,其名称包含一个统一码字符(例如穆勒)。在IE11中,我收到一个错误,说“无效字符”,因为在IE11中,整个http响应似乎在angular的http响应中被读取为字符串,并且它试图将此字符串解析为JSON(而不是已经采用JSON格式)。但是在 JSON 字符串中,它看起来像这样:...,\“姓氏”:“M }],”id\“:1,...

问题是姓氏的一部分被去掉了,现在姓氏值少了一个右引号。我不介意它显示菱形问号,它只是完全打破了现在的反应。

在chrome中,它可以正常工作,因为数据实际上是作为JSON对象返回的,与IE11不同,它作为字符串返回,然后尝试在默认转换响应函数中转换为JSON。

请求采用application/json charset:utf-8格式。响应采用application/json格式。

有人知道怎么回事吗?

编辑:在IE11的网络响应正文中,它以JSON格式正确地将其显示为“Müller”。

编辑:当返回响应时,它似乎吃掉了ü后面的前5个字符。(例如,Mülleraa看起来像…\“M�a \“…其中右引号后面带有一个额外的“a”字符)

共有1个答案

邵骁
2023-03-14

在您的请求中,添加:

headers: {
  "Accept": "application/json;charset=utf-8",
  "Accept-Charset":"charset=utf-8"
},
 类似资料:
  • 嗨,有人能给我删除\r\n空格和向后斜杠()的代码片段吗? "有效负载": "{**\r\n**"postId": 1,\r\n"id": 1,\r\n"name":"id labore ex et quam lab um",\r\n"email":"Eliseo@gardner.biz",\r\n"body":"laudantium enim quasi est quidem magnam vo

  • 此问题似乎与在帮助中心定义的范围内编程无关。 您好,任何人都可以给我删除空格和反斜杠()的代码段。 “Payload”:“{**\r\n**”postId:1,\r\n“id”:1,\r\n“name”:“id labore ex et quam labourum”,\r\n“email”:Eliseo@gardner.biz“,\r\n“body”:“laudantium enim quasi

  • 问题内容: 我尝试从日期中删除秒: 为什么删除“ 10”末尾的0? 问题答案: 不会删除确切的字符串-会删除字符串中出现的所有字符。由于您知道要删除的字符串的长度,因此只需使用 甚至更好

  • 我在Mako模板中有以下代码: 这将url转义应用于表示公司的对象的名称字符串。然后在URL中使用得到的转义字符串。Mako文档说明使用提供url编码。 在服务器上,我将公司名称部分接收到参数中: 然后使用investment_name作为键返回到模板中提取它的字典中。 这对于公司名称中的所有标准大小写(如空格、斜杠和单引号)都很适用。但是,如果公司名称包含ascii字符集之外的unicode字符

  • 问题内容: path = “/Volumes/Users” >>> path.lstrip(‘/Volume’) ‘s/Users’ >>> path.lstrip(‘/Volumes’) ‘Users’ >>> 我期望的输出是 问题答案: 是基于字符的,它将删除该字符串中左端的所有字符。 要验证这一点,请尝试以下操作: 由于是字符串的一部分,因此将其删除。 您需要改用切片: 或者,在Python

  • 在JSON中,Unicode字符可以使用表示法进行转义。我假设显然是指十六进制的Unicode代码点。 但由于只有4位数字,这是否意味着无法转义