无法使 xmlhttprequest send 方法正常工作

Cannot get xmlhttprequest send method to work

本文关键字:常工作 工作 方法 xmlhttprequest send      更新时间:2023-09-26

原谅这个简单的问题。 我想将一个变量从javascript传递给php,我知道这可以用xmlhttprequest对象来完成。 所以我构建了一个测试脚本来弄清楚如何做到这一点。

我正在使用 XAMPP,我将以下文件、main.php 和 test.php 放在它们在 htdocs 文件夹中的正确位置。

main.php 尝试使用 XMLhttpRequest 传递变量进行测试.php。 测试.php只是回显变量。 然后,我尝试在 main.php 中显示回声结果。

当我在浏览器中加载 main.php 并查看源代码时,我希望看到变量被回显。 相反,我看到一条错误消息,指出应该传递给测试.php的变量未定义。

任何帮助都将非常受欢迎。

    <html>
    <head>
    <title>Main</title>
    <script type="text/javascript" src="../scripts/jquery-1.7.1.min.js"></script>
    <script language="javascript" type="text/javascript">
    $(document).ready(function () {
        xmlhttp=new XMLHttpRequest();
        xmlhttp.open("GET","test.php?var1=hello", true);
        xmlhttp.send(null);
        <?php include("test.php"); ?>
    });
    </script>
</head>
<body></body>
</html>

这是测试中的代码.php它与 main 位于同一文件夹中.php

<?php
$name=$_GET['var1'];
echo $name;
?>
我相信

您正在异步模式下运行请求,因此请检查就绪状态更改:

xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","test.php?var1=hello", true); 
xmlhttp.send(null); 
xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   alert(xmlhttp.responseText)
}

我注意到你似乎正在使用jQuery(如果是Sizzle,请忽略其余部分),所以你不需要使用它!jQuery内置了Ajax方法,大大简化了它!

$.ajax({
    url:"test.php",
    method:"get",
    data:{
             var1:"hello"
         }
}).done(function(data){
     alert(data);
});

将创建一个XMLHttpRequest并发送它。