【发布时间】:2016-04-09 18:39:10
【问题描述】:
HTML 文件
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
var xml=new XMLHttpRequest();
var url="department.php";
var data=document.getElementById("demo");
xml.open("GET", url, true);
xml.send();
xml.onreadystatechange=function(){
if(xml.readyState == 4 && xml.status==200){
var file=JSON.parse(xml.responseText);
myFunction(file);
}
};
data.innerHTML="Fetching Data..........";
function myFunction(array){
var i=0;
var print="";
for(i=0;i<array.length;i++){
print+=array[i].ID;
}
data.innerHTML=print;
}
</script>
<script></script>
</body>
</html>
JSON 文件
[
{"Name":"Arman",
"ID":"1312038"
},
{"Name":"Khalid",
"ID":"1312024"
},
{"Name":"Robiul",
"ID":"1312025"
}
]
PHP 文件
//
<?php
header('content-Type:application/json');
$json_data=file_get_contents("student.json");
echo $json_data;
?>
//
我将所有这些文件放在 public_html 目录中。但是当我运行 department.html 时,JSON 文件没有响应。public_html folder.so 为什么这不起作用。000webhost.or 中是否有任何 PHP 配置做了一些语法错误?当我直接将“student.json”文件用作“department.html”中的“url”时,它可以正常工作。
使用 "student.json" 作为 url 可以得到正确的结果。
var xml=new XMLHttpRequest();
var url="student.json";
var data=document.getElementById("demo");
xml.open("GET", url, true);
xml.send();
【问题讨论】:
-
您的 HTML 中有一个未关闭的
script标记。此外,您可能想使用DOMContentLoaded/document.readyState来触发您的 ajax 请求。 -
将 '
-
你的html文件中没有关闭
<script标签 -
您现在在
var xml=new XMLHttpRequest();之前缺少一个打开的<script>标签