Javascript 使用Ajax加载PHP文件(不带JQUery)

Javascript 使用Ajax加载PHP文件(不带JQUery),javascript,php,html,ajax,apache,Javascript,Php,Html,Ajax,Apache,我在html文件中有以下Ajax代码: <script type="text/javascript" src="jquery-3.5.0.min.js"> $.ajax({ method: "GET", url:"nba2019_namelist.php", success:function(res) { $("#playerNames").html(res) } }) <

我在html文件中有以下Ajax代码:

<script  type="text/javascript" src="jquery-3.5.0.min.js">
    $.ajax({
        method: "GET",
        url:"nba2019_namelist.php",
        success:function(res) {
            $("#playerNames").html(res)
        }
    })
</script>

$.ajax({
方法:“获取”,
url:“nba2019_namelist.php”,
成功:功能(res){
$(“#playerNames”).html(res)
}
})
这应该加载一个php文件(实际上只是从csv创建一个列表),但不起作用。我正在使用Apache来实现php功能,当我转到http:/localhost/nba2019_namelist.php时,我的列表就出现了,所以我相当确定php文件不是问题所在。ajax代码旨在替换以下html列表:

<div>
  <ul id="playerNames">
      <li><b>Harden</b></li>
      <li><b>Giannis</b></li>
      <li><b>Lebron</b></li>
      <li><b>Booker</b></li>
      <li><b>Lavine</b></li>
      <li><b>Westbrook</b></li>
      <li><b>Jokic</b></li>
  </ul>
</div>

  • 变硬
  • 吉安尼斯
  • 勒布朗
  • 布克
  • 拉文
  • 韦斯特布鲁克
  • 开玩笑的
但是当我加载页面时,唯一的输出是这里输入的相同名称,而不是我的php文件创建的名称。我做错了什么?是否需要在Apache httpd.conf中指定要加载的php文件?我真的不知道Ajax,但根据我在论坛上看到的情况,它应该可以工作。我在这里做错了什么,接下来应该做什么来解决这个问题


如果JQuery是唯一的解决方案,请告诉我,我现在不想学习新的东西,除非它是完全必要的。

使用fetch尝试以下方法:

fetch('nba2019_namelist.php')
.then(response=>response.Text())
.then(data => { 
     document.getElementById("playerNames").innerHTML = data;
 });

我希望它有帮助

通过使用fetch尝试以下操作:

fetch('nba2019_namelist.php')
.then(response=>response.Text())
.then(data => { 
     document.getElementById("playerNames").innerHTML = data;
 });

我希望这会有帮助

我能够解决我自己的问题。我遵循在线教程的建议,将包含ajax代码的vanilla
标记改为
。这使得我的代码不能正常工作

为了解决这个问题,我将脚本标记改回了香草
,并将以下内容放在
的底部:


这使得我的php代码可以像预期的那样从ajax中获取。

我能够解决自己的问题。我遵循在线教程的建议,将包含ajax代码的vanilla
标记改为
。这使得我的代码不能正常工作

为了解决这个问题,我将脚本标记改回了香草
,并将以下内容放在
的底部:


这使得我的php代码可以像预期的那样从ajax中抓取。

检查您的控制台,
method:GET
应该是
method:GET',
p.S.从代码的一瞥中,我怀疑
method:GET
可能是个问题-它可能导致语法错误,或者至少
GET
可能是未定义的。应该是一根绳子。将其更改为
method:“GET”,
-您还忘记了下一个选项前末尾的逗号-这肯定会导致语法错误。这是一个基本的、基本的错误,如果您查看控制台,您会立即发现这个错误。除非同时学习如何调试程序,否则无法学习编程。花点时间去解决这个问题,你会在以后省下几个小时的挫折感。对于Javascript,是浏览器进行调试,而不是代码编辑器(尽管编辑器可以在你尝试运行代码之前为你突出显示语法错误)“同样的结果会发生”……具体的结果是什么?同样,打开开发人员工具,然后加载页面,以了解发生了什么问题。您希望查找控制台错误,然后查看网络工具以查看对nba2019_namelist.php的请求是否确实发生,它是否出现在请求列表中?如果请求确实发生,那么您是否得到“200”(确定)响应代码?当您从网络工具中单击对nba2019_namelist.php的AJAX请求,并转到其中的响应选项卡时,您会看到什么?这是您所期望的吗?另外,为了清楚起见,我所指的开发人员工具位于您的浏览器中。在大多数浏览器中按F12打开它们。就我个人而言,我认为Chrome浏览器是最好/最容易使用的(我也不想使用Internet Explorer),但它们都可以胜任这项任务,而且外观和感觉都非常相似,因此我对该做什么的描述应该完全适合它们。检查你的控制台,
method:GET
应该是
method:“GET”,
P.s,我怀疑
method:GET
可能是个问题-它可能导致语法错误,或者至少
GET
可能未定义。应该是一根绳子。将其更改为
method:“GET”,
-您还忘记了下一个选项前末尾的逗号-这肯定会导致语法错误。这是一个基本的、基本的错误,如果您查看控制台,您会立即发现这个错误。除非同时学习如何调试程序,否则无法学习编程。花点时间去解决这个问题,你会在以后省下几个小时的挫折感。对于Javascript,是浏览器进行调试,而不是代码编辑器(尽管编辑器可以在你尝试运行代码之前为你突出显示语法错误)“同样的结果会发生”……具体的结果是什么?同样,打开开发人员工具,然后加载页面,以了解发生了什么问题。您希望查找控制台错误,然后查看网络工具以查看对nba2019_namelist.php的请求是否确实发生,它是否出现在请求列表中?如果请求确实发生,那么您是否得到“200”(确定)响应代码?当您从网络工具中单击对nba2019_namelist.php的AJAX请求,并转到其中的响应选项卡时,您会看到什么?这是您所期望的吗?另外,为了清楚起见,我所指的开发人员工具位于您的浏览器中。在大多数浏览器中按F12打开它们。就我个人而言,我认为Chrome浏览器是最好/最容易使用的(我会避免使用Internet Explorer),但它们都可以胜任这项任务,而且外观和感觉都非常相似,我的描述是