簡體   English   中英

無法將json數組從PHP傳遞到JQuery

[英]can not pass json array from PHP to JQuery

我一直在嘗試從PHP傳遞一個簡單的數組到JQuery。 這是我在HTML / JS中具有的相關功能:

function myQuery() {

 var xmlhttp = new XMLHttpRequest();
 var url = "sandbox.php";

 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
   myFunc(xmlhttp.responseText);
  }
 }
 xmlhttp.open("GET", url, true);
 xmlhttp.send();

}

function myFunc(response) {
 var arr = JSON.parse(response);
 document.getElementById("demco").innerHTML = arr[0];
}

對於PHP,我嘗試過:

<?php
 $arr = [4,7,2];
 echo json_encode($arr);
?>

和:

<?php
 $arr = array(4,7,2);
 echo json_encode($arr);
?>

根據我的調試器,它每次都在JSON.parse(response)處失敗。 這里的代碼有什么問題? 我嘗試通過http://json.parser.online.fr/運行數組[4,7,2],但沒有任何問題。 我不知所措,幫助我SE!

編輯:

從控制台:在X行上解析PHP中的錯誤其中X是包含以下內容的行:$ arr = [4,7,2]; 未捕獲的異常:SyntaxError:JSON.parse:無法解析值:

在http:// ...的myFunc(response)中的Y行第2列引發錯誤。var arr = JSON.parse(response); 從Z行的http://localhost/sandbox.html ()中第4列調用:myFunc(xmlhttp.responseText);

請將輸出頁面標題設置為application / json以使其清晰可見。 僅以JSON代碼進行輸出是必需的。

<?php
header('Content-Type:application/json');
$arr = array(4,7,2);
echo json_encode($arr);

這將產生純JSON輸出,並且Javascript易於讀取

我在JSON傳遞的PHP文件頂部有一個doctype標記,並且正在加緊解析。

暫無
暫無

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

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