簡體   English   中英

json_encode 結合 $_GET (PHP & Javascript)

[英]json_encode combined with $_GET (PHP & Javascript)

我需要將 JSON 數組傳遞到網頁 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=value url.php?id="value"

你忘了urlencode()它。

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

當它回來時不要忘記json_decode()它。

出於好奇,您是否必須將其作為 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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM