我正在努力,_POST是空的

时间:2015-07-06 23:36:26

标签: php xmlhttprequest

我看了看,但没有什么能触及这个问题。

我正在尝试通过JavaScript在Chrome中发送XMLHttpRequest。这是我的页面:

<!DOCTYPE html>
<html>
 <head>
  <title>ROAM</title>
  <script>
    function post_something() {
      var xmlhttp = new XMLHttpRequest();
      xmlhttp.open('POST', "post_test.php", true);
      xmlhttp.setRequestHeader('Content-Type', 'text/plain');
      xmlhttp.send("This is my text.");
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          console.log(xmlhttp.responseText);
        }
      }
    }
  </script>
 </head>
 <body>
  <table>
    <tr><td><input type="button" value="POST a thingy"
                   onclick="javascript:post_something()">
            </input>
    </td></tr>
  </table>
 </body>
</html>

这是我的PHP:

<?php
  print_r($_POST);
/>

这会显示在控制台中:

Array
(
)

如果某个地方会告诉我什么是XMLHttpRequest.send实际上做了什么,它究竟发送了什么,PHP如何解析它,以及PHP期望什么,我可以自己解决这个愚蠢的事情。

*请理解我不想使用表单或jQuery。我想直接使用XMLHttpRequest对象,直到我完全理解它是如何工作的以及PHP如何接收和解析它。

2 个答案:

答案 0 :(得分:4)

您应该将calc()声明为Content-Type,并以application/x-www-form-urlencoded的形式创建数据字符串。

key1=value1&key2=value2&key3=value3

输出:

  

阵列
  (
  [text] =&gt;这是我的文字   [text2] =&gt;这是我的第二篇文章   )

答案 1 :(得分:1)

$ _ POST包含通过请求正文中的application / x-www-form-urlencoded发送的参数。既然你没有关键=值对,那么_POST就没有了 试试

#header{
    text-align: center;
    color: aqua;
}
#headerBox{
    border: 1px black solid;
    margin: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    background-image: url('matrixCode.jpeg');
}
#gLibrary{
    color: #989898;
    margin: 15px;
    display: inline;
}
#gLibrary p a{
    text-decoration: none;
    color: aqua;
    display: inline;
}
#FG{
    border: 3px gold solid;
}
#FGD{
    color: red;
    text-align: center;
}
#MG{
    border: 1px purple solid;
    background-color: #333;
}
#ft{
    text-align: center;
    font-size: 16px;
    background-color: #333;
    color: red;
}
#gameTitle{
    color: aqua;
}
#float{
    float: left;
}
#desc{
    color: crimson;
}
#gameFrame{
    margin-top: 1%;
    margin-bottom: 1%;
    padding-top: 1%;
    padding-bottom: 1%;
}

xmlhttp.send("x=This+is+my+text.");

请参阅http://php.net/manual/de/wrappers.php.php