亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以使用 JSON.parse() 在使用 PHP 全局變量(如 ($_GET, $_POST)

我可以使用 JSON.parse() 在使用 PHP 全局變量(如 ($_GET, $_POST)

PHP
慕勒3428872 2022-01-02 16:32:40
我想使用 PHP $_GET 方法直接獲取 javascript 變量中的數據,然后將數據解析為 json 對象。我可以使用 PHP 獲取它,然后將其轉換為字符串,但它沒有為我提供類似 JSON 的結構。我得到的只是一個連續的字符串。我已經在 PHP 中使用 json_decode 轉換了數據并將其轉換為單個字符串,然后將該字符串傳遞給 JS 變量。<?php$json = json_decode($_GET['data'], true );$val = "";foreach ($json as $key => $value) {    echo $key . " : ";    $arr = $value;    foreach ($arr as $key => $v) {        echo $v . " ";        $val .= $v . " | ";    }    echo "<br>";}?><script type="text/javascript">var l = "<?= $val ?>";console.log(l); // This is a stringvar json = "<?php echo $_GET['data'] ?>"; // Error Codevar jd = json.parse(json);</script>SyntaxError:意外令牌:標識符 // 我收到此錯誤
查看完整描述

2 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

切勿將 PHP 與 JavaScript 混合使用。


如前所述,您應該使用 Ajax 來執行此操作。然后,您可以根據需要將結果應用到 JavaScript 變量中。


<script>

var result = '';


$.ajax({

    url: 'parse_url.php',

    type: "POST", //request type,

    dataType: 'json',

    data: {},

    success:function(json){

        result = json;

    },

    error: function(a) {

        console.log(a);

    }

});


console.log(result);

</script>

parse_url.php


die(json_encode($_GET));


查看完整回答
反對 回復 2022-01-02
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊

您應該將 JSON 放在單引號中,因為雙引號用于 JSON 表示本身。


var json = '<?php echo $_GET['data'] ?>';

var jd = JSON.parse(json);

但是真的沒有必要使用JSON.parse. JSON 本身是 JavaScript 文字的正確格式,所以你可以這樣寫:


var jd = <?php echo $_GET['data'] ?>;

但是,將 URL 參數直接插入到 JavaScript 中是一個壞主意,因為它們可能會發送不只是 JSON 的內容。所以你應該使用json_encode()從 PHP 重新生成對象:


var jd = <?php echo json_encode($json); ?>;


查看完整回答
反對 回復 2022-01-02
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號