[英]JSON parse using JSON from PHP
我使用網絡服務創建一個 PHP 數組$result ,但是當傳遞給 javascript 和 JSON.parse 時,沒有任何結果。 我是 php 和 JS 數組的新手,做了很多谷歌搜索,但找不到答案。 歡迎幫助!
首先是瀏覽器中的輸出,其中 PHP 數組打印出來,但 javascript 不輸出任何內容:-
1) Results of PHP array print Array ( [hotels] => Array ( [codigo] => LIMHBM [fecha] => 2016/9/15 [cannoc] => 1 [canhab] => 1 [canpax] => 2 [estado] => OK ) ) 2) Results of JSON parse: none
相關代碼部分:-
1) Results of PHP array print
<pre><?php print_r($result); ?></pre>
2) Results of JSON parse:
<span id="demo">none</span>
<script type="text/javascript">
var result = JSON.parse( '<?php echo json_encode($result) ?>' );
document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado;
</script>
實際上你的代碼是正確的,直到最后一行 javascript 代碼是:-
document.getElementById("demo").innerHTML = result.hotels[0].codigo + " " + result.hotels[0].estado;
將其更改為:-
document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado;
例子:-
<?php
$result = Array
(
'hotels' => Array
(
'codigo' => 'LIMHBM',
'fecha' => '2016/9/15',
'cannoc' => 1,
'canhab' => 1,
'canpax' => 2,
'estado' => 'OK'
)
);
?>
1) Results of PHP array print
<?php echo "<pre/>";print_r($result); ?>
2) Results of JSON parse:
<span id="demo">none</span>
<script type="text/javascript">
var result = JSON.parse('<?php echo json_encode($result) ?>');
console.log(result); // to just show you te output in console
document.getElementById("demo").innerHTML = result.hotels.codigo+ " " + result.hotels.estado;
</script>
輸出:- http://prntscr.com/avm729
對於多維數組幫助,請檢查:-
這一點毫無意義:
var result = JSON.parse( '<?php echo json_encode($result) ?>' );
JSON已經是有效的JavaScript,因此沒有必要對它進行解析。 您需要做的就是直接將其轉儲到代碼塊中:
var result = <?php echo json_encode($result); ?>;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.