0

我正在玩一些 Ajax,我正在使用以下代码。

var r = new XMLHttpRequest();
r.open("POST", "pythonTesting.php", true);
r.onreadystatechange = function () {
    if (r.readyState === 4 && r.status === 200) {
        alert("Success: " + r.responseText);
    }
};
r.send("text=yellow");

它是成功的,但警报没有显示实际的responseText.

pythonTesting.php(不要被名称混淆)只是:

 <?php
   echo $_POST['text'];
 ?>

我期待它responseText是,yellow因为这就是我发送它的方式,但它不是。不过,我并没有真正看到问题所在。它一定是容易修复的错误之一。

4

3 回答 3

1

由于这是一篇文章,我相信您需要设置长度:

r.setRequestHeader("Content-length", "text=yellow".length);
于 2013-01-17T02:57:09.137 回答
1

来自http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Henry&lname=Ford");
于 2013-01-17T03:06:00.787 回答
0

通过地址发送变量:

r.open("POST", "pythonTesting.php?text=yellow", true);

然后通过以下方式检索php中的变量

$text = $_REQUEST['text'];
于 2014-01-14T22:34:14.883 回答