2013-10-21 108 views
0

下面是代码:哪里语法错误在此Javascript

var disqus_title="UnicodeDecodeError - ordinal not in range(128)"; 
    var disqus_identifier="cache\yazilar\python\unicode-decode-error-ordinal-not-in-range.html"; 
    var disqus_config = function() { 
     this.language = "tr"; 
    }; 

Chrome的调试工具表明,有在disqus_identifier行了语法错误,但我不能找到它。我在我的所有页面中使用相同的代码,只有这个代码出错。

回答

2

您需要在您的字符串常量中加双反斜杠。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html"; 

确定您确实需要反斜杠而不是正斜杠字符可能是个好主意。如果你将路径传递回服务器,并且服务器将盲目使用它,那可能是一个相当恶劣的安全问题。

2

反斜杠\是javascript中的转义字符。如果你想在你的字符串中加一个反斜杠,你必须用另一个反斜杠来转义它。

var disqus_identifier="cache\\yazilar\\python\\unicode-decode-error-ordinal-not-in-range.html"; 
1

\u表示unicode转义。它必须跟有4个十六进制字符。

你应该要么\\(用来表示\数据转义序列),或更换您的\字符(因为你有什么看起来像一个相对URI)使用/代替。

0

var disqus_identifier =“cache \ yazilar \ python \ unicode-decode-error-ordinal -in-in-range.html”;

单个反斜杠混淆脚本编译器。