【发布时间】:2019-09-01 12:19:16
【问题描述】:
我有以下js代码:
function getSlideAnswer(responseId, fpToken, coordinateX, traceData) {
coordinateX = Math.floor(coordinateX);
var encryptData = {
"track": traceData,
"x": coordinateX + "",
"p": "0,0",
"finger": fpToken
};
var t = CryptoJS.enc.Utf8.parse(responseId.substr(0, 16));
return CryptoJS.AES.encrypt(JSON.stringify(encryptData), t, {
iv: t,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
}).ciphertext.toString().toUpperCase();
}
但是,我收到以下错误:
execjs._exceptions.ProgramError: TypeError: 'JSON' is undefined
如何解决错误?
【问题讨论】:
-
我使用python并导入
execjs模块。 -
可能值得注意的项目是 EOL 并且没有被维护:pypi.org/project/PyExecJS 显然,它不提供在 ES5 中添加的
JSON对象。该项目指向PyV8 作为可能的替代方案。 -
旧浏览器? JSON 对象是一个很新的特性,有些老了不知道...
-
@Tom - 此时已经 10 岁,它是 ES5 的一部分(2009 年 12 月)。 :-) 甚至 IE8 也有
JSON。但是上面的 OP 说他们没有使用浏览器,他们使用的是 Python 中的execjs模块。
标签: javascript python execjs