簡體   English   中英

如何從運行PHP和MySQL的Web服務器讀取JSON數據?

[英]How to read JSON data from a web server running PHP and MySQL?

我在http://www.w3schools.com/json/json_example.asp中閱讀了示例。

我將其與MySQL數據庫和PHP代碼一起嘗試。 但這行不通。 我是一個初學者,我不知道這是怎么回事。

這是我的PHP鏈接: http : //xebus2014.tk/demo.php

我像這樣更改w3school代碼:

 <!DOCTYPE html> <html> <head> <style> h1 { border-bottom: 3px solid #cc9900; color: #996600; font-size: 30px; } table, th , td { border: 1px solid grey; border-collapse: collapse; padding: 5px; } table tr:nth-child(odd) { background-color: #f1f1f1; } table tr:nth-child(even) { background-color: #ffffff; } </style> </head> <body> <h1>Customers</h1> <div id="id01"></div> <script> var xmlhttp = new XMLHttpRequest(); var url = "http://xebus2014.tk/demo.php"; xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { myFunction(xmlhttp.responseText); } } xmlhttp.open("GET", url, true); xmlhttp.send(); function myFunction(response) { var arr = JSON.parse(response); var i; var out = "<table>"; for(i = 0; i < arr.length; i++) { out += "<tr><td>" + arr[i].STT + "</td><td>" + arr[i].ID + "</td><td>" + arr[i].Name + "</td><td>" + arr[i].Singer + "</td></tr>"; } out += "</table>" document.getElementById("id01").innerHTML = out; } </script> </body> </html> 
PHP代碼

您是否將響應設置為Json String?

header("Content-Type: application/json; charset=UTF-8");

您的結果已經是一個對象,因此您無需使用JSON.parse對其進行解析,只需按原樣使用並將其按原樣通過循環即可。

我不了解跨域問題,但是要運行它,我直接轉到您的函數...請參見此小提琴,使用您的輸出進行工作循環-http://jsfiddle.net/fu3g5Loe/

或者您可以在PHP后端中使用它

echo json_encode('Your result set goes here'); // this will apply the correct JSON representation of your result set before echoing

工作守則

<body>

<h1>Customers</h1>
<div id="id01"></div>

<script>
    /*
    var xmlhttp = new XMLHttpRequest();
    var url = "http://xebus2014.tk/demo.php";

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

    var params = [{"STT":"1","ID":"123","Name":"Sexy Love","Singer":"T-ara"},{"STT":"2","ID":"456","Name":"Day By Day","Singer":"T-ara"},{"STT":"3","ID":"789","Name":"Cry Cry","Singer":"T-ara"}];

    myFunction(params);

function myFunction(response) {
    var arr = response;

    var i;
    var out = "<table>";

    for(i = 0; i < response.length; i++) {  
    out += "<tr><td>" + 
        arr[i].STT +
        "</td><td>" +
        arr[i].ID +
        "</td><td>" +
        arr[i].Name +
        "</td><td>" +
        arr[i].Singer +
    "</td></tr>";
    }
    out += "</table>"
    document.getElementById("id01").innerHTML = out;
}
</script>

</body>

暫無
暫無

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

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