chrome 更新后,jQuery ajax 调用无法从网页解码为 utf-8 字符集到 Chrome 扩展中
Posted
技术标签:
【中文标题】chrome 更新后,jQuery ajax 调用无法从网页解码为 utf-8 字符集到 Chrome 扩展中【英文标题】:jQuery ajax call can't decode to uft-8 charset from webpage into Chrome Extension after chrome update 【发布时间】:2018-06-02 04:39:07 【问题描述】:我之前为 google chrome 创建了一个扩展,我使用 jquery ajax 从网页中抓取了一个聊天,并在扩展弹出窗口中显示了一个更好的方式。现在,每个 æ ø å 字符都会显示 unicode 错误 �。
我知道我和网站都没有做任何新的事情或更改字符集。他们仍然在标题中定义了他们的字符集,并且正确的字符显示在他们的页面上。
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
当然,我在我的扩展程序中使用了 uft-8 字符集,但在此之前这不是问题..
我尝试在我的 ajax 调用中将 uft-8 和 ISO-8859-1 都定义为内容类型。现在我对这个问题有点不知所措。字符集错误仅包括聊天,其他所有内容都处于其当前状态,就像从一开始一样。
整个源代码位于: https://github.com/Cmoen11/GS-Chat-Chrome-Extension
有趣的文件:index.js 和 index.html
【问题讨论】:
发布您的 ajax 代码可能会帮助我们帮助您 当然,这里你得到了整个源代码。您可能感兴趣的脚本位于 index.js github.com/Cmoen11/GS-Chat-Chrome-Extension 【参考方案1】:只需使用事件 beforeSend 更改您的 mime
function fetchData()
...
timeout: 10000,
contentType: 'Content-type: text/plain; charset=iso-8859-1',
beforeSend: function(jqXHR)
jqXHR.overrideMimeType('text/html;charset=iso-8859-1');
,
success: function (newRowCount)
...
参考:https://***.com/a/14397845/3396168
【讨论】:
以上是关于chrome 更新后,jQuery ajax 调用无法从网页解码为 utf-8 字符集到 Chrome 扩展中的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 新版本 73.0.3683.75 的 Ajax 调用错误?
jquery $.ajax 在 Chrome 或 Firefox 中调用会导致 401 未经授权的响应,但在 IE 中有效