Javascript 为什么这个代码不能正常工作?

Javascript 为什么这个代码不能正常工作?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我目前正在尝试学习Ajax,并且一直在学习教程。我创建了以下脚本: <!DOCTYPE html> <html> <head> <script type="text/javascript"> function MyFunction(){ var xmlhttp; if(window.XMLHttpRequest){ xmlhttp = new XMLHttpRequest(); } else

我目前正在尝试学习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>

函数MyFunction(){
var-xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}
否则{
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(ajaxRequest.readyState==4){
document.getElementById(“MyDiv”).innerHTML=xmlhttp.responseText;
}
}
open(“POST”,“command.php”,true);
xmlhttp.send();
}
执行
然后我有一个名为command.php的php文件,它只是呼应了“success”一词

显然,此脚本的目的是在单击execute按钮时返回单词“success”。我已经非常精确地遵循了教程,所以我不确定我所写的有什么错


我还看了其他Ajax教程,看看它们有哪些不同之处。看起来Ajax的一些变体与其他变体非常不同。我的意思是,很多教程都包含与我编写的代码类似的代码,但其他许多教程(例如)看起来非常不同,并且包含许多“$”符号。这是为什么?

看起来可能是复制/粘贴错误。我猜:

   if(ajaxRequest.readyState == 4){
应该是:

   if(xmlhttp.readyState == 4){
而且,听起来您并不是在使用浏览器开发工具。控制台中应该有如下消息:

Uncaught ReferenceError: ajaxRequest is not defined

我建议您阅读首选浏览器的开发工具。

本教程一定很老了。只有Internet Explorer 6及其之前的版本才需要使用
新ActiveXObject(“Microsoft.XMLHTTP”)
的回退功能。我会跳过它,只使用XmlHttpRequest。试着通过
jQuery
来实现它,这是一种更简单、更好的方式。。。!你经常看到的“$”是一个叫做的小图书馆。哇,那些教程一定是2000年初的。您标记了jQuery,为什么不直接使用它呢?$只是一种简写,而不必键入jQuery来使用它。您是否尝试过在代码中设置断点来查看ajax调用的返回值?您确定服务器响应正确吗?谢谢,这解决了我的问题。现在唯一的问题是,这是否是正确的做法?在人们提到之前我并不知道,我正在使用的教程似乎已经过时了。我需要学习一种新的方法吗?如果您根本不想依赖任何外部JavaScript库,那么这是正确的方法。如果您不介意依赖像
jQuery
这样的东西,那么我建议您阅读并使用jQuerys
$.ajax
方法。