[英]Passing PHP array to javascript using json_encode giving errors?
我從數據庫中獲取了一些信息-如下所示:
$link = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$handle = $link->prepare("SELECT dropAddress FROM mv_bookingEst WHERE userID='$userID'");
$handle->execute();
$result = $handle->fetchAll(\PDO::FETCH_OBJ);
//print_r($result);
$x = 0;
foreach($result as $obj){
$resultArray[$x] = $obj->dropAddress;
$x++;
}
然后在我的腳本中:
var count = "<?php echo json_encode($resultArray); ?>";
但是我收到以下錯誤:
語法錯誤:意外數字-> var count =“ [” -33.8935642,151.20227810000006“,”-33.857653,151.20853699999998 ...
如果我用echo($ resultArray [0])替換json_encode($ resultArray),則值可以通過。 不確定如何解決此問題,因為我閱讀的所有內容均使用此方法。 TIA
var count = "<?php echo json_encode($resultArray); ?>";
您在返回的結果json_encode
一個JavaScript字符串的內部 。 您的語法錯誤顯示如下:
Syntax error: unexpected number --> var count = "["-33.8935642, 151.20227810000006","-33.857653, 151.20853699999998 ...
除非出現故障,否則json_encode
返回有效的JavaScript語法 ,因此您應按原樣使用它,而在javascript中沒有任何修飾:
var count = <?php echo json_encode($resultArray); ?>;
如果要考慮失敗的可能性,則可以改用以下方法:
var count = <?php
$tmp = json_encode($resultArray);
echo ($tmp === false ? 'null' : $tmp);
?>;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.