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

文字列はJavaScriptの"http:\/\/www.example.org"場合と同様に出力されます。"http://www.example.org"

エスケープされたスラッシュは、JSON 標準の一部だと思います。ただし、JS コードに影響を与えるべきではありません。

ところで、これmysql_escape_string('//')は完全に文脈から外れています。HTML != データベース。

于 2012-08-14T02:19:45.027 に答える