Javascript 使用Ajax加载PHP文件(不带JQUery)
我在html文件中有以下Ajax代码: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) } }) <
<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),但它们都可以胜任这项任务,而且外观和感觉都非常相似,我的描述是