为什么这个代码不能正常工作
Why does this code not function correctly?
我目前正在学习Ajax,并一直在学习教程。我已经创建了以下脚本:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function MyFunction(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById("MyDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", "command.php", true);
xmlhttp.send();
}
</script>
</head>
<body>
<button onclick="MyFunction()">Execute</button>
<div id="MyDiv"></div>
</body>
</html>
然后我有一个名为command.php的php文件,它只是呼应了单词"success"。
显然,这个脚本的目的是在单击执行按钮时返回单词"success"。我已经非常准确地遵循了教程,所以我不确定我写的东西有什么问题。
我还看了其他Ajax教程,看看它们可能有什么不同的做法。Ajax的某些变体看起来与其他变体非常不同。我的意思是,很多教程都涉及到看起来像我写的代码,但其他许多教程(如本教程)看起来相当不同,并涉及到许多"$"符号。为什么会这样?
看起来可能是复制/粘贴错误。我猜:
if(ajaxRequest.readyState == 4){
应该是:
if(xmlhttp.readyState == 4){
此外,听起来你并不是在使用浏览器开发工具。控制台应该有这样的消息:
Uncaught ReferenceError: ajaxRequest is not defined
我建议阅读您喜欢的浏览器的开发工具。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- JS可以在Chrome中工作,但不能在Firefox中工作
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)