【问题标题】:PHP file is not working on 000webhostPHP 文件在 000webhost 上不起作用
【发布时间】: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文件中没有关闭&lt;script标签
  • 您现在在var xml=new XMLHttpRequest(); 之前缺少一个打开的&lt;script&gt; 标签

标签: php html json ajax xml


【解决方案1】:

在 PHP 文件中更改

$json_data=file_get_content("student.json");

$json_data=file_get_contents("student.json");

您错过了 file_get_contents 末尾的“s”。

如果这不起作用检查 PHP 是否已启用,请创建一个包含以下内容的新 phpinfo.php 文件

<?php
phpinfo();

将其上传到 public_html 目录并在浏览器中转到 yourdomain.com/phpinfo.php,如果启用了 php,您将看到一个格式化页面,其中包含有关您服务器上安装的版本的所有特定详细信息。如果您没有启用 PHP,您可能会看到一个空白页面或只是文件的文字内容。

此外,您的 PHP 文件将返回与 JSON 文件相同的响应(file_get_contents() 与 GET 请求执行相同的操作。因此,您只需将 XMLHttpRequest() 的 url 更改为JSON 文件。

【讨论】:

  • 我已经通过 phpinfo.php 文件上传 phpinfo() 函数来检查 php 版本,我的服务器中有 php,它的版本是 5.2.17。我在 file_get_content 之后添加了一个额外的“s”。但它仍然无法正常工作。
  • 请编辑您的问题中发布的 PHP 文件以匹配您的更改。
  • 我已编辑并上传了新版本的 php 和 html 文件。但仍然无法正常工作。
  • 请编辑您的问题以反映当前文件内容,谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-02-22
  • 2015-02-11
  • 2017-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多