在 PHP 中处理 Axios POST

2022-01-01 00:00:00 axios php

我想向我的 PHP 文件发送一个 POST 请求来处理它并将数据存储在数据库中..我很坚持它,因为无论我尝试什么 $_POST 都是空的..

I want to send a POST request to my PHP file to handle it and store the data in the database.. I'm pretty stuck at it since $_POST stays empty whatever I try..

有人可以帮我发送帖子请求并帮助我如何处理吗?

Can someone help me sending a post request and help me how to handle it ?

我的 axios 请求:

My axios request:

// Performing a POST request
axios.post('dev/api/post.php',{ text: text, unk: unk})
  .then(function(response){
      console.log(response);
}).catch(function (error) {
      console.log(error);
});  

这是我在 PHP 中尝试过的,有些代码被注释掉了,因为不确定它是否有效..

And this is what I kinda tried in PHP, some code is commented out because not sure if it worked..

if(isset($_POST) && !empty($_POST)){
/*  
$jsonReceiveData = json_encode($_POST);
$json_output = json_decode($jsonReceiveData);
$task = $json_ouput->text;
$uniquekey = $json_output->unk;
*/
echo $_POST;
/*
$stmt = $pdo->prepare("INSERT INTO todo (id, tekst, uniquekey) VALUES ('', :tekst, :unk)");
$stmt->bindParam(':unk', '1');
$stmt->bindParam(':tekst','testing');
$stmt->execute();
*/

}

解决方案:

$data = json_decode(file_get_contents("php://input"), true);
$task = $data['text'];

在 php://input 中找到对象

The object was found in php://input

推荐答案

用户在php://input中查找"对象解决了它

The user solved it "finding" the object in php://input

$data = json_decode(file_get_contents("php://input"), true);
$task = $data['text'];

正如 STEEL 所指出的,这是 PHP 代码的问题,而不是 React 或 Axios.

As pointed by STEEL, it was an issue at the PHP code, not React or Axios.

相关文章