可能重複正確解析:
JSON: why are forward slashes escaped?斜線在PHP變量沒有在JavaScript
我傳遞包含"//"
從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=......
誰能知道爲什麼會這樣?我該如何解決它?
謝謝。
在PHP5.4 +中,您可以使用'JSON_UNESCAPED_SLASHES'選項。如前所述,雖然JS通常不需要。 (也可以在upgradephp'up_json_encode()'for早期的PHP版本中使用)。 – mario 2012-08-14 02:37:11