0

我对 AJAX 还比较陌生,我想弄清楚为什么我的简单测试不起作用。从我读到的 AJAX 将无法在一个域下工作,并且会弹出诸如跨站点和远程服务器之类的单词。无论如何,我的问题是我不确定我的代码是否错误,或者只是我想要做的事情是不可能的。当我单击按钮时,我创建了一个简单的 ajax 请求来提交数据。这是第一个脚本的代码。

<html>
  <head>
    <script type="text/javascript" >
      function load(thediv, thefile) {
        if (window.XMLHttpRequest) {
          xmlhttp = new XMLHttpRequest();   
        } 
        else {
          xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }   
        xmlhttp.onreadystatechange = function() {
          if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById(thediv).innerHTML = xmlhttp.responseText;
          }     
        }
        xmlhttp.open('GET', thefile, true);
        xmlhttp.send();
      }
    </script>
  </head>
  <body>
    <input type="submit" onclick="load('adiv', 'hello.php');">
    <div id="adiv"></div>
  </body>
</html>

这是文件hello.php的代码

<?php
  echo 'aaa';
?>
4

1 回答 1

1

AJAX 只是在后台完成的一个 http 请求。但是,是的,有一些安全限制会阻止您对任意服务器执行正常的 ajax 请求。

您的代码缺少的实际上是设置您将请求发送到的 URL。您已将hello.phpload() 函数作为参数,但您从未真正使用过它。所以你正在做一个AJAX请求......“无处”。

于 2012-07-19T21:50:21.583 回答