无法使 xmlhttprequest send 方法正常工作
Cannot get xmlhttprequest send method to work
原谅这个简单的问题。 我想将一个变量从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并发送它。
相关文章:
- 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中工作
- ajaxToolkit PopupControlExtender不工作.过时的
- HTML标记在脚本标记中工作
- javascript扫雷器floodfill算法不能正常工作