我将i18n支持添加到一个旧的javascript组件中。以前它不需要xhr/fetch,但它仍然需要在IE11中工作。
我不想写:
fetch("/libs/cq/i8n/dict." + lang + ".json")
.then(function(response) { return response.json(); })
.then(function(data) {
dictionary = data;
});但我知道IE不支持抓取。我们有可用的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行,char 17。
我已经测试了响应,它是严格有效的JSON。
由于某种原因,dictionary = eval(response)正在工作。
发布于 2020-01-14 16:55:44
问题是jQuery已经检测到它是JSON,并为我解析了它。
Invalid Character错误消息告诉我,我传递给JSON.parse的字符串是一个对象。
我在第49行所需要的是:
dictionary = response;https://stackoverflow.com/questions/59738431
复制相似问题