【发布时间】:2020-05-01 10:53:26
【问题描述】:
我正在向旧的 javascript 组件添加 i18n 支持。它以前不需要 xhr/fetch,但它仍然需要在 IE11 中工作。
我不想写:
fetch("/libs/cq/i8n/dict." + lang + ".json")
.then(function(response) { return response.json(); })
.then(function(data) {
dictionary = data;
});
但我知道 IE 不支持 fetch。我们有可用的 jQuery,所以我尝试了:
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 行,字符 17。那是 dictionary = JSON.parse(response); 中的 d
我已经测试了响应,它是严格有效的 JSON。
由于某种原因,dictionary = eval(response) 正在工作。
【问题讨论】: