var url = "C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
结果为Uncaught SyntaxError: Unexpected token ILLEGAL
。有没有办法在javascript中修复它,还是我需要在PHP之前将其转义?
编辑:我的脚本如下所示:
<script>
window.onload = function() {
thingiurlbase = "{@$__wcf->getPath('td')}js";
thingiview = new Thingiview("viewer");
thingiview.setObjectColor('#C0D8F0');
thingiview.initScene();
var url = "C:\\xampp\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
thingiview.loadSTL(url);
thingiview.setRotation(false);
}
</script>
答案 0 :(得分:2)
您需要转义反斜杠字符。
var url = "C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
否则,JavaScript会尝试将\x
,\h
和\w
解释为转义的特殊字符。
在这种特殊情况下,看起来您只需将\
替换为/
代替:
var url = "C:/xampp/htdocs/wcf2/wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
答案 1 :(得分:1)
你需要逃避反斜杠。
var url = "C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-5dffacdfe6d2cf1db8dfabbb5b53ae8dc65bd325";
如果从PHP打印字符串,您可以使用addslashes为您完成工作。
$test = 'C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-...';
echo $test . "\n";
echo addslashes($test);
>> C:\xampp\htdocs\wcf2\wcf/attachments/5d/18-...
>> C:\\xampp\\htdocs\\wcf2\\wcf/attachments/5d/18-...
顺便说一句,你的方法有两件事是不正确的:
字符串中的斜杠应该都以相同的方式指向。如果您希望将其用作URL,请使用正斜杠例如 http://stackoverflow.com/posts/17775495
如果您想为浏览器提供可用于访问服务器上某些资源的URL,则此URL不能是文件路径(例如C:\xampp\htdocs\...
。)而是必须是相对于您的站点根目录,或绝对URL(例如http://dropbox.com/my/file.pdf
)。不要忘记,Web用户只能通过Web服务器访问服务器上的文件。