Possible Duplicate:
JSON: why are forward slashes escaped?
我正在传递包含 "//"
的值从 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); ?>});
问题在于变量linkarr
显示形式为:
http:\/\/localhost:8090\/getdata.php?criteria=......
谁知道为什么会发生这种情况?我该如何修复它?
谢谢。
最佳答案
字符串 "http:\/\/www.example.org"
在 JavaScript 中仍将打印为 "http://www.example.org"
.
我相信转义斜杠是 JSON 标准的一部分。但它不应该以任何方式影响您的 JS 代码。
顺便说一句,mysql_escape_string('//')
完全脱离了上下文; HTML != 数据库。
关于php - php 变量中的斜杠在 javascript 中未正确解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944893/