原谅这个简单化的问题。我想将一个变量从javascript传递到php,我知道这可以用xmlhttprequest对象完成。所以我构建了一个测试脚本来弄清楚如何做到这一点。
我正在使用XAMPP,我将以下文件main.php和test.php放入htdocs文件夹中的正确位置。
main.php尝试使用xmlhttprequest将变量传递给test.php。 test.php简单地回显变量。然后我尝试在main.php中显示回显的结果。
当我在浏览器中加载main.php并查看源代码时,我希望看到变量回显。相反,我看到一条错误消息,表明应该传递给test.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>
以下是test.php中的代码,该代码与main.php
位于同一文件夹中<?php
$name=$_GET['var1'];
echo $name;
?>
答案 0 :(得分:0)
我相信您正在以异步模式运行请求,因此请检查就绪状态更改:
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","test.php?var1=hello", true);
xmlhttp.send(null);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
alert(xmlhttp.responseText)
}
答案 1 :(得分:0)
我注意到你看起来好像在使用jQuery(如果它是Sizzle,忽略其余部分), 所以你不需要使用它! jQuery内置了Ajax方法,大大简化了它!
$.ajax({
url:"test.php",
method:"get",
data:{
var1:"hello"
}
}).done(function(data){
alert(data);
});
将创建XMLHttpRequest并发送它。