0

JSON配列をWebページのURLに渡す必要があるので、そうします

$url = 'page.php?id=' . json_encode($array);

になった

$url = 'pages.php?id=["1", "2", "3"]';

そして、その中page.phpには基本的に私が行うJavascriptコードがあります

var foo = <?php $_GET['id']; ?>

しかし、それはただのfooような配列ではなく.["1", "2", "3"][

どうしてこれなの?

また、次のことを行う方が良いですurl.php?id=valueurl.php?id="value"??

4

2 に答える 2

4

あなたはそれを忘れましurlencode()た。

$url = 'page.php?id=' . urlencode(json_encode($array));

json_decode()そして、それが戻ってきたときにそれを忘れないでください。

于 2011-07-10T04:07:28.030 に答える
0

好奇心から、json_encoded文字列として渡す必要がありますか?

おそらくあなたはそれを配列として渡すことができます

page.php?id[]=1&id[]=2&id[]=3 

その場合、page.phpコードは次のようになります。

echo json_encode($_GET['id']);

また、ページIDを渡す場合は、ホワイトリストアプローチを使用して不良データをチェックします。

$safe = array('1','2','3');
$id = $_GET['id'];
foreach($id as $value){
 if(!in_array($value, $safe)){
    echo "Sry, data not valid";
    exit;
 }
}
echo json_encode($id);
于 2011-07-10T04:54:52.357 に答える