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;
?>
//
我把所有这些文件放在publichtml目录中。但是当我运行department.html时,JSON文件没有响应.public_html文件夹。这就是为什么不起作用。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();
在PHP文件中更改
$json_data=file_get_content("student.json");
至
$json_data=file_get_contents("student.json");
您错过了fileget_contents末尾的"s"。
如果这不起作用请通过创建一个包含以下内容的新phpinfo.PHP文件来检查PHP是否已启用
<?php
phpinfo();
将其上传到public_html目录,并在浏览器中访问yourdomain.com/phpinfo.php,如果启用了php,您将看到一个格式化的页面,其中包含有关服务器上安装的版本的所有特定详细信息。如果你没有启用PHP,你可能会看到一个空白页面,或者只是文件的文字内容。
此外,上面的PHP文件将返回与JSON文件相同的响应(file_get_contents()执行与get请求相同的操作。因此,您可以通过将XMLHttpRequest()的url更改为JSON文件的url来绕过此问题。