可能的重复项:
JSON:为什么正斜杠被转义了?
我正在将包含"//"
的值从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 != 数据库。