从PHP访问POST字符串

Access POST string from PHP

本文关键字:字符串 POST 访问 PHP      更新时间:2023-09-26

我使用JQuery.ajax发送一个JavaScript对象到每个POSTPHP脚本。JQuery发送它的方式,使它很容易从PHP访问:

JavaScript:

var request = $.ajax({
    url: server,
    dataType: 'text',
    timeout: timeout,
    type: 'POST',
    data: {key:"value"}
});
PHP:

$_POST["key"]

当我发送一个简单的字符串$。ajax而不是JS对象,我如何在PHP中访问它?例如,当简单地发送"data"时,count($_POST)返回0。

var request = $.ajax({
    url: server,
    dataType: 'text',
    timeout: timeout,
    type: 'POST',
    contentType: "text/plain",
    data: "data"
});

我必须使用file_get_contents('php://input')还是有其他方法?

当我发送一个简单的字符串$。ajax而不是JS对象,我如何在PHP中访问它?

我必须使用file_get_contents('php://input')

是的。如果您不以PHP可以自动解码的格式对数据进行编码,那么您必须像这样访问原始数据。

当您这样做时,请记住将请求content-type设置为text/plain

您的数据应该是有效的,字符串本身是无效的。而不是尝试:

var request = $.ajax({
   url: server,
   dataType: 'text',
   timeout: timeout,
   type: 'POST',
   contentType: "text/plain",
   data: {data: "mysimplestring"}

});

并使用

访问
$_POST['data'];