javascript中的非法字符

时间:2016-04-07 09:37:33

标签: javascript

我已经调试了好几个小时,但实际上找不到这个非法角色的罪魁祸首。我的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);
            }
        });
    };

在萤火虫中显示。

enter image description here

在Chrome和控制台中进行检查时,它会重定向到此行。

enter image description here

知道我的职能中有非法角色在哪里?

3 个答案:

答案 0 :(得分:2)

您的来源中似乎有一些不可打印的字符。你有办法在你的编辑器中显示那些并删除它们吗?删除和重新输入该行也可能会修复它。

如果情况并非如此,那么您尝试评估的内容可能根本就不是JavaScript。您可以在图像或某种二进制数据上运行它。

在对来自外部源的数据使用eval时,请务必格外小心。如果你可以避免这样做,那就避免它。

答案 1 :(得分:0)

如果您通常使用不同的字母输入,可能会发生这种情况。例如,Γreek问号;是一个与英文半冒号不同的ASCII字符;如果你使用第一个,你就会得到这个错误。

一种解决方案是将您的方法粘贴到记事本然后再回到IDE。 这通常会标准化并消除可能隐藏或无法解读的怪异角色。

答案 2 :(得分:0)

这可能是由于您已从网络复制代码并将其粘贴到文件中的原因。尝试在文件中键入相同的代码。

由于UTF-8字符而发生此错误。