我已经调试了好几个小时,但实际上找不到这个非法角色的罪魁祸首。我的javascript看起来很好。这是我的代码。
this.PrintApplication = function Test$PrintApplication(ApplicationID, callback) {
$.post("/Application/PrintApplication/" + ApplicationID,
function (data) {
var result = eval(data);
if (result.error) {
DisplayPrompt("Error", result.message);
return;
}
else {
callback(result.data);
}
});
};
在萤火虫中显示。
在Chrome和控制台中进行检查时,它会重定向到此行。
知道我的职能中有非法角色在哪里?
答案 0 :(得分:2)
您的来源中似乎有一些不可打印的字符。你有办法在你的编辑器中显示那些并删除它们吗?删除和重新输入该行也可能会修复它。
如果情况并非如此,那么您尝试评估的内容可能根本就不是JavaScript。您可以在图像或某种二进制数据上运行它。
在对来自外部源的数据使用eval
时,请务必格外小心。如果你可以避免这样做,那就避免它。
答案 1 :(得分:0)
如果您通常使用不同的字母输入,可能会发生这种情况。例如,Γreek问号;是一个与英文半冒号不同的ASCII字符;如果你使用第一个,你就会得到这个错误。
一种解决方案是将您的方法粘贴到记事本然后再回到IDE。 这通常会标准化并消除可能隐藏或无法解读的怪异角色。
答案 2 :(得分:0)
这可能是由于您已从网络复制代码并将其粘贴到文件中的原因。尝试在文件中键入相同的代码。
由于UTF-8字符而发生此错误。