javascript - 从 PHP 访问 POST 字符串

标签 javascript php jquery ajax post

我使用 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 中访问它?例如。当仅发送“数据”时,count($_POST) 返回 0。

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

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

最佳答案

When I send a simple string with $.ajax instead of a JS object, how can I access it in PHP?

Do I have to use file_get_contents('php://input')

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

执行此操作时,请记住将请求content-type设置为text/plain

关于javascript - 从 PHP 访问 POST 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23756614/

相关文章:

jquery - 在选择 tr 覆盖父 div 上的第 n 个子类时,如何使用 jquery addClass?

jquery - 2 列 UL LI,但一列包含的 LI 多于另一列

c# - 如何实时渲染图像

javascript - 将值传递给函数的问题

php - 当返回序列化对象时,Redis 会剪切字符串。找不到任何限制

php - 如何从下拉列表选择中检索数据到表中?

javascript - 用另一个 promise 履行(不解决) promise

javascript - jQuery Mobile - 过滤复选框 ListView 会导致出现无样式的复选框

php - 如何用phpunit替换方法

jquery - 文件生成的 throbber