斜杠在PHP变量不正确解析在JavaScript中
可能重复:
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!=数据库。
上一篇: Slashes in php variable not being parsed correctly in javascript