在chrome更新后,jQuery ajax调用无法从网页解码到utf-8字符集到Chrome扩展

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在chrome更新后,jQuery ajax调用无法从网页解码到utf-8字符集到Chrome扩展相关的知识,希望对你有一定的参考价值。

我以前创建了谷歌浏览器的扩展程序,我使用jquery ajax从网页抓取了一个聊天,并在扩展程序弹出窗口中显示了更好的方式。现在,每个æøå字符都会显示unicode错误 。

我知道我和网站都没有做任何新的事情或改变了字符集。他们仍然在标题中定义了charset,并在页面上显示正确的字符。

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

当然我在我的扩展上使用了uft-8字符集,但这在此之前不是问题。

我试图在我的ajax调用中将uft-8和ISO-8859-1定义为内容类型。现在我对此问题有点无能为力。字符集错误仅包括聊天,其他所有内容都是从一开始就处于当前状态。

Screenshot from the extension

整个源代码位于:https://github.com/Cmoen11/GS-Chat-Chrome-Extension

有趣的文件:index.js和index.html

答案

只需在发送前更改你的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://stackoverflow.com/a/14397845/3396168

以上是关于在chrome更新后,jQuery ajax调用无法从网页解码到utf-8字符集到Chrome扩展的主要内容,如果未能解决你的问题,请参考以下文章

通过ajax调用更新行后使用jQuery对表进行排序

ajax调用后jQuery更新li类属性href

Chrome 新版本 73.0.3683.75 的 Ajax 调用错误?

jquery $.ajax 在 Chrome 或 Firefox 中调用会导致 401 未经授权的响应,但在 IE 中有效

Chrome DOM 未针对 jQuery 追加/淡入更新

Chrome 中 JQuery 停止和挂起的 ajax 请求