2

下面是使用 GET 正确返回字符串“Test”的 JavaScript Ajax 和 PHP:

    var xmlhttp;
if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
}
else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
        document.getElementById("content").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("GET","selector.php?storyId=Test",true);
xmlhttp.send();

和 PHP:

<?php
$storyId=$_GET['storyId'];
echo $storyId;
?>

但是在使用POST时,如下所示,它回显空白(但它确实回显)

<?php
$storyId=$_POST['storyId'];
echo $storyId;
?>

最后两行更改的 JavaScript:

xmlhttp.open("POST","selector.php",true);
xmlhttp.send("storyId=Test");

为什么会这样?

4

1 回答 1

3

尝试在它之间添加一个标题,方法是在open()and之间添加send()

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
于 2013-07-20T02:34:54.073 回答