reactjs - 使用 Slim 框架从 axios POST 请求中获取正文
问题描述
嗨,伙计们,我在超薄框架 3 中获得体型值时遇到了麻烦。
我现在尝试的是在我的 react.js 前端使用 axios
这是 slim3 路由文件:task.php
<?php
use Slim\Http\Request;
use Slim\Http\Response;
use \Firebase\JWT\JWT;
$app->post('/task/add', function(Request $request,Response $response){
// parse body
$parsedBody = $request->getParsedBody();
// data for insert
$data = [
":TASK_STATUS" => 1,
":IDUSRN" => 1,
":TASK_FOR" => 16,
":TASK_DATE_START" => date('Y-m-d H:i:s'),
":TASK_DATE_END" => date('Y-m-d H:i:s'),
":TASK_SUBJECT" => $parsedBody['task_subject'],
":TASK_DETAIL" => $parsedBody['task_detail']
];
$sql = "INSERT INTO task (TASK_STATUS,IDUSRN,TASK_FOR,TASK_DATE_START,TASK_DATE_END,TASK_SUBJECT,TASK_DETAIL
) VALUES (:TASK_STATUS,:IDUSRN,:TASK_FOR,:TASK_DATE_START,:TASK_DATE_END,:TASK_SUBJECT,:TASK_DETAIL)";
$stmt = $this->db->prepare($sql);
try{
$stmt->execute($data);
return $response->withStatus(200)->withHeader("Content-Type", "application/json")->withJson(["status"=>"success","message"=>"Task successfully added !"]);
}catch(PDOException $e){
return $response->withStatus(401)->withHeader("Content-Type", "application/json")->withJson(["status"=>"Gagal","message"=>"Data tidak bisa terinput !"]);
}
});
我可以看到数据已成功插入。但我收到的任务主题和任务详细信息为空
这是 react.js 发布请求处理程序:
saveTask(e){
e.preventDefault();
const state = this.state;
this.setState({
addTask_status:false
});
const body = {
task_subject: state.task_subject.value,
task_detail: state.task_detail.value
};
axios({
method: 'post',
url: 'http://localhost:8080/task/add',
headers:{
"Content-Type": "application/json"
},
body
}).then(function(response){
console.log(response);
})
.catch((err)=>console.log(err));
}
谢谢你的帮助。
解决方案
我相信你需要body
通过data
axios({
method: 'post',
url: 'http://localhost:8080/task/add',
headers:{
"Content-Type": "application/json"
},
data: body
}).then(function(response) {
console.log(response);
});
请参阅 Axios README.md
推荐阅读
- python - 您如何在列表中找到最高值,然后随着其他值的增加而增加它以及期望设置为 0 的值
- python - 为什么不是所有的因子变量都出现在图例中?
- python - Python多处理并行写入单个gzip
- python - IBM Stats 订阅主题始终返回原因 2033:失败:MQRC_NO_MSG_AVAILABLE
- reactjs - 如何使用 su user -c 结合 npm start --prefix?
- r - 在 R 中绘制时间序列的难度
- java - JComboBox 背景直到悬停在它上面才被绘制
- haskell - 哈斯克尔。如何使用 GADT 实现自定义 monad 转换器?
- javascript - Javascript:访问数据链接属性
- git - 在推送更改之前 git rebase 后丢失更改