Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从运行PHP和MySQL的web服务器读取JSON数据?_Javascript_Php_Mysql_Json - Fatal编程技术网

Javascript 如何从运行PHP和MySQL的web服务器读取JSON数据?

Javascript 如何从运行PHP和MySQL的web服务器读取JSON数据?,javascript,php,mysql,json,Javascript,Php,Mysql,Json,我在书中读到了这个例子 我用我的MySQL数据库和PHP代码进行了尝试。但它不起作用。 我是个初学者,不知道怎么了 这是我的PHP链接: 我改变学校代码如下: h1{ 边框底部:3px实心#cc9900; 颜色:#996600; 字体大小:30px; } 表,th,td{ 边框:1px纯灰; 边界塌陷:塌陷; 填充物:5px; } 表tr:第n个子项(奇数){ 背景色:#f1f1; } 表tr:第n个子项(偶数){ 背景色:#ffffff; } 客户 var xmlhttp=new XMLH

我在书中读到了这个例子

我用我的MySQL数据库和PHP代码进行了尝试。但它不起作用。 我是个初学者,不知道怎么了

这是我的PHP链接:

我改变学校代码如下:


h1{
边框底部:3px实心#cc9900;
颜色:#996600;
字体大小:30px;
}
表,th,td{
边框:1px纯灰;
边界塌陷:塌陷;
填充物:5px;
}
表tr:第n个子项(奇数){
背景色:#f1f1;
}
表tr:第n个子项(偶数){
背景色:#ffffff;
}
客户
var xmlhttp=new XMLHttpRequest();
变量url=”http://xebus2014.tk/demo.php";
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
myFunction(xmlhttp.responseText);
}
}
open(“GET”,url,true);
xmlhttp.send();
功能myFunction(响应){
var arr=JSON.parse(响应);
var i;
var out=“”;
对于(i=0;i
您是否将响应设置为Json字符串

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

您的结果已经是一个对象,因此不需要使用JSON.parse解析它,只需按原样使用它并按原样通过循环即可

我不知道跨域问题,但要运行它,我直接转到您的函数。。。请参阅此小提琴,了解使用输出的工作循环--

或者您也可以在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>

客户
/*
var xmlhttp=new XMLHttpRequest();
变量url=”http://xebus2014.tk/demo.php";
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
myFunction(xmlhttp.responseText);
}
}
open(“GET”,url,true);
xmlhttp.send();
*/
var params=[{“STT”:“1”,“ID”:“123”,“姓名”:“性感爱情”,“歌手”:“T-ara”},{“STT”:“2”,“ID”:“456”,“姓名”:“天天”,“歌手”:“T-ara”},{“STT”:“3”,“ID”:“789”,“姓名”:“哭泣”,“歌手”:“T-ara”});
myFunction(params);
功能myFunction(响应){
var-arr=响应;
var i;
var out=“”;
对于(i=0;i
同时发布您的php代码。不要将php放在一个代码段中(因为它不会工作)错误消息是什么您不需要解析响应,因为它已经是JSON了。这可能就是错误所在。我执行了代码,它工作正常。我在下面使用了PHP,您的代码很好,但是如果页面不是来自同一个域xebus2014.tk,您可能会遇到跨域问题,除非您在PHP代码中实现了I add header。但它仍然不显示数据。我想从服务器读取数据库。Console response me“请避免在评论中进行扩展讨论。是否自动将此讨论移动到聊天室?”@Dexter Huinda请尝试将显示
var arr=JSON.parse(response)
的行替换为
var arr=response
,然后再次测试。