php变量中的斜杠在javascript中未正确解析
可能重复:php变量中的斜杠在javascript中未正确解析,php,javascript,json,Php,Javascript,Json,可能重复: 我将包含“//”的值从PHP传递到Javascript。但是,当我使用json解码时,无论我如何尝试将字符串括起来或转义,这些值都会继续解析为:“\/\/” 以下是我使用的代码: PHP foreach($varr as $vr) { array_push($legendarr, "%%.%% - ".$vr); array_push($linkarr, "http://".$_SERVER['HTTP_HOST'].
我将包含
“//”
的值从PHP传递到Javascript。但是,当我使用json解码时,无论我如何尝试将字符串括起来或转义,这些值都会继续解析为:“\/\/”
以下是我使用的代码:
PHP
foreach($varr as $vr)
{
array_push($legendarr, "%%.%% - ".$vr);
array_push($linkarr, "http://".$_SERVER['HTTP_HOST']."/getdata.php?criteria=".$vr);
}
JavaScript:
pie = r.piechart(320, 240, 100, <?php echo json_encode($vcr); ?>, { legend: <?php echo json_encode($legendarr); ?>, legendpos: "west", href: <?php echo json_encode($linkarr); ?>});
pie=r.piechart(320240100,{图例:,legendpos:“west”,href:});
问题在于变量linkarr
以以下形式显示:
http:\/\/localhost:8090\/getdata.php?标准=…
有人知道为什么会这样吗?我怎样才能修好它
谢谢。字符串“http:\/\/www.example.org”
仍将打印为”http://www.example.org“
在JavaScript中
我相信,转义的斜杠是JSON标准的一部分。但它不应该以任何方式影响JS代码
顺便说一句,mysql\u escape\u字符串('/')
完全脱离上下文;HTML!=数据库。字符串“http:\/\/www.example.org”
仍将打印为”http://www.example.org“
在JavaScript中
我相信,转义的斜杠是JSON标准的一部分。但它不应该以任何方式影响JS代码
顺便说一句,
mysql\u escape\u字符串('/')
完全脱离上下文;HTML!=数据库。哎呀,那只是沮丧的表现。。。不幸的是,我使用的是Raphael.js,它错误地打印了http链接……刚刚发现问题来自其他地方。谢谢哎呀,那只是沮丧的表现。。。不幸的是,我使用的是Raphael.js,它错误地打印了http链接……刚刚发现问题来自其他地方。谢谢在PHP5.4+中,可以使用JSON\u UNESCAPED\u斜杠
选项。正如前面提到的,JS通常不需要它。(对于早期的PHP版本,也可以在upgradephpup\u json\u encode()
中获得。)在PHP5.4+中,您可以使用json\u UNESCAPED\u斜杠
选项。正如前面提到的,JS通常不需要它。(对于早期的PHP版本,也可以在upgradephpup\u json\u encode()
中找到。)