我正在尝试将数据发布到
PHP页面并检查响应.这是一个例子.这段代码有什么问题?
的index.html
<html>
<head>
<title>Post Ajax</title>
<script type="text/javascript">
function post(foo,bar) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST","ajax.PHP",true);
xmlhttp.send("foo=" + foo + "&bar=" + bar);
}
</script>
</head>
<body>
<input type="button" value="Click me" onclick="post('one','two');" />
</body>
</html>
ajax.PHP
<?PHP
if (array_key_exists('foo',$_POST) && array_key_exists('bar',$_POST)) {
$foo = $_POST['foo'];
$bar = ($_POST['bar']);
// do stuff with params
echo 'Yes,it works!';
} else {
echo 'Invalid parameters!';
}
?>
我有一个愚蠢的错字或我没有正确使用send()方法.
我想到了.我需要设置请求标头.
xmlhttp.open("POST",true);
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlhttp.send("foo=" + foo + "&bar=" + bar);
source1
source2