1

可能重复:
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=......

谁能知道为什么会这样?我该如何解决?

谢谢。

4

1 回答 1

1

"http:\/\/www.example.org"仍然会像"http://www.example.org"在 JavaScript中一样打印字符串。

我相信,转义的斜杠是 JSON 标准的一部分。但它不应该以任何方式影响您的 JS 代码。

顺便说一句,mysql_escape_string('//')完全断章取义;HTML != 数据库。

于 2012-08-14T02:19:45.027 回答