使用 Ajax 与服务器通信,
我正在尝试使用 AJAX 将一个值传递给 dat.php 并从 dat.php 返回另一个值。下面的代码在我使用 GET 时工作正常,但不适用于 POST。我需要使用 POST,因为这是我试图传递的敏感信息。知道为什么会这样。
这是我在 test.php 上的代码
<html>
<body>
<form action="<?php echo $_SERVER['$PHP_SELF'];?>" method="post">
<input type="text" name="value" onchange="ch_email1(this.value)"></input>
</form>
<script>
function ch_email1(str){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
var xl=xmlhttp.responseText
alert("Something Went wrong");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var xl=ajaxRequest.responseText;
alert (xl);
}
}
ajaxRequest.open("POST","dat.php?q="+str, true);
ajaxRequest.send(null);
}
</script>
</body>
</html>
这是 dat.php
<?php
$q=$_POST['q'];
echo $q;
?>
请注意,当我用 GET 替换 POST 时,上面的代码可以正常工作。任何想法为什么会发生这种情况。