首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Script1014:用jQuery.ajax替换IE 11的无效字符

Script1014:用jQuery.ajax替换IE 11的无效字符
EN

Stack Overflow用户
提问于 2020-01-14 16:55:44
回答 1查看 280关注 0票数 0

我将i18n支持添加到一个旧的javascript组件中。以前它不需要xhr/fetch,但它仍然需要在IE11中工作。

我不想写:

代码语言:javascript
复制
    fetch("/libs/cq/i8n/dict." + lang + ".json")
        .then(function(response) { return response.json(); })
        .then(function(data) {
            dictionary = data;
        });

但我知道IE不支持抓取。我们有可用的jQuery,所以我试着:

代码语言:javascript
复制
    jQuery.ajax({
        url: "/libs/cq/i18n/dict." + lang + ".json",
        success: function (response) {
            dictionary = JSON.parse(response);
            onReady();
        }
    })

现在我明白了:

SCRIPT1014:无效字符

index.js (49,17)

我知道49,17是指文件中的一个位置,第49行,char 17。

我已经测试了响应,它是严格有效的JSON。

由于某种原因,dictionary = eval(response)正在工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 16:55:44

问题是jQuery已经检测到它是JSON,并为我解析了它。

Invalid Character错误消息告诉我,我传递给JSON.parse的字符串是一个对象。

我在第49行所需要的是:

代码语言:javascript
复制
            dictionary = response;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59738431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档