AJAX - PHP -内容不加载
AJAX - PHP - Content Not Loading
我是AJAX新手。
我正试图从我的PHP文件加载一些内容到load.html。我在文本框的onKeyUp事件上创建了这个函数。
但是它总是显示"UNDEFINED"作为输出。(
请帮帮我
load.html文件
<!DOCTYPE html>
<html>
<head>
<script>
function NickName(nick){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if(xmlhttp.status==200 && xmlhttp.readyState ==4){
document.getElementById("divNick").innerHTML = xmlhttp.reponseText;
}
}
xmlhttp.open("GET","myphp.php?key="+nick,true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="divNick"></div>
<input type="text" id="text_box" onKeyUp="NickName(this.value)">
</body>
</html>
和myphp.php文件
<?php
if(isset($_GET['key']))
{
$key = $_GET['key'];
$choice1 = "Shifar";
$choice2 = "Nidal";
if($key==$choice1)
{
echo "Shifz";
}
else if($key==$choice2)
{
echo "Steavz";
}
else
{
echo "No Match Found";
}
}
?>
提前感谢。Shifar Shifz
这是因为您没有指定正确的函数名。
您定义了一个名为NickName
的函数并调用了另一个名为NicKName
的函数
更新为comments
它是未定义的,因为你把xmlhttp.responseText
打错了xmlhttp.reponseText
有打字错误。你的函数名是昵称,你正在调用昵称。K为大写
更改document.getElementById("divNick").innerHTML = xmlhttp.reponseText;
to document.getElementById("divNick").innerHTML = xmlhttp.responseText;
又是一个错别字。responseText -> responseText
试试:
xmlhttp.open("GET","myphp.php?key="+nick,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send();
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.status==200 && xmlhttp.readyState ==4)
{
document.getElementById("divNick").innerHTML = xmlhttp.reponseText;
}
}
我认为顺序很重要,NickName
不是NicKName
我可以看到你的函数名有一个打字错误。当您调用函数时,您使用了昵称,但该函数实际上被定义为昵称。(k)在您的呼叫声明中大写。
给您的其他建议是,像您所做的那样编写Ajax是一种非常古老的方法。最重要的是,你将有许多浏览器的大量代码…你应该处理所有的浏览器。那么为什么不使用其他ajax方法呢?我建议您使用jQuery $.ajax。它非常简单,可以处理所有的跨浏览器兼容性问题。
例如。上面这行代码可以替换为....
$ (' #divNick ') .load (myphp.php ?关键= ' +尼克);
只有一行。另一个是你也可以使用$。它可以让你同时做POST和GET请求,如你所愿。
最重要的是你说你是Ajax的新手。如果是这样,为什么你还没有开始阅读jQuery…除了节省你的时间和当你完成它非常有益,你会看到有多少工作岗位需要jquery作为技能集。
ajax代码中的拼写错误而不是- document.getElementById("divNick")。innerHTML = xmlhttp.responseText;您输入了- document.getElementById("divNick")。innerHTML = xmlhttp. responsetext ;
- 根据下拉值包括或加载php
- 从jqueryajax加载php页面卸载当前页面
- 为什么我的 Ajax 加载 php 页面
- ajax加载php与facebookJava不工作
- Jquery未加载PHP文件
- WordPress:如何在帖子中加载PHP或OnClick
- 如何使用JS代码加载php文件
- Javascript - 自动从数据库加载php数据
- Jquery ajax() 函数不会加载 PHP 脚本
- 在JS函数调用后加载php函数
- 在 Ajax 之后重新加载 PHP 代码
- 在javascript中加载PHP
- 使用 ajax 调用加载 php 文件并执行按钮单击事件
- jquery在PHP页面运行时加载PHP页面
- 使用 AJAX 重新加载 PHP FORM
- 从 js 加载 php 内容
- 在javascript中加载php变量
- 使用 setInterval 和 jQuery load 在 JS 数组中加载 PHP
- 为什么我的页面正在加载 php 文件
- Jquery 在通过 ajax 加载 PHP 后不起作用