所以我试图从我的php文件中提醒我的“Hello”,它非常简单,但由于某种原因它不起作用。
JS
function dynamic()
{
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
window.alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST", "hello.php", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
}
dynamic();
PHP
<?php
echo "Hello";
?>
HTML
<html>
<head>
<title>Hello</title>
<script src="dynamic.js"></script>
</head>
<body>
test
</body>
</html>
我无法通过警告框提醒我的“你好”。它应该直接来自responseText。
答案 0 :(得分:3)
您没有调用send
方法。它发送请求 MDN
xmlhttp.send();
如果你想在POST中放入任何数据,请将它作为urlencoded格式放入send methods参数中。
xmlhttp.send("foo=bar&hello=world");
答案 1 :(得分:0)
试试这个:
function dynamic()
{
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
window.alert(xmlhttp.responseText);
}
}
xmlhttp.open("GET", "hello.php", true);
xmlhttp.send(null);
}
dynamic();
答案 2 :(得分:0)
我想你忘了发送请求:
xmlhttp.send();
答案 3 :(得分:0)
试试这个
xmlhttp.setRequestHeader("Content-type", "text/plain");
或
xmlhttp.setRequestHeader("Content-type", "text/html");
而不是
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
你必须把
xmlhttp.send(null);
答案 4 :(得分:0)
在the answer旁边,登录php文件在类似情况下是一种有用的行为。