[英]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.