如何检索由axios post请求发送的php中的变量[重复]
Posted
技术标签:
【中文标题】如何检索由axios post请求发送的php中的变量[重复]【英文标题】:How to retrieve variables in php sent by axios post request [duplicate] 【发布时间】:2018-08-10 17:51:03 【问题描述】:我想向 php 脚本发送 POST 请求。我正在使用 Axios:
axios.post('inc/vote.php',
id: this.selected,
) .then(function (response)
console.log(response);
);
在 PHP 文件中,我正在尝试这样的方法来从 axios 中检索 id 变量:
$id = $_POST['id'];
但似乎它什么也没做。
从请求中检索变量的正确方法是什么?
【问题讨论】:
$id
为空或返回未定义变量id
?
使用$_POST['id'];
。你忘了一个'
。您还可以通过var_dump($_POST);
来查看您的 $_POST 是否包含您希望收到的参数。
这是重复的。它与 OP 的初始拼写错误(已修复)无关。默认情况下,Axios不发送 URL 编码请求,因此不会填充 $_POST。请参阅文档和原始帖子。
@Akintunde007 它显示未定义索引:id
【参考方案1】:
Axios 在请求正文中以JSON
的形式发送数据,而不是作为表单数据。因此您无法使用$_POST['id']
访问帖子数据。
前端解决方案
为了能够使用$_POST['id']
访问数据,您必须使用 FormData,如下所示:
var form = new FormData();
form.append('id', this.selected);
axios.post('inc/vote.php',
form
) .then(function (response)
console.log(response);
);
后端解决方案 如果您有兴趣将请求正文作为关联数组获取,您可以使用:
$data = json_decode(file_get_contents("php://input"), TRUE);
$id = $data['id'];
【讨论】:
谢谢,伙计!这对我来说就像一个魅力。 你救了我的工作,谢谢以上是关于如何检索由axios post请求发送的php中的变量[重复]的主要内容,如果未能解决你的问题,请参考以下文章