![](/img/trans.png)
[英]Yii2 rest api getBodyParams() can't get params from PUT request
[英]Yii2 rest api getBodyParams() can't get params load(Yii::$app->getRequest()->getBodyParams(), ''); from react native post
如何從 Post react native 獲取參數? 后反應本機我在這里嘗試發送一些數據到請求 yii:
let body = {
demande_title:demande_title,
created_Date:created_Date,
updated_Date:updated_Date,
demande_Type:demande_Type,
demande_Action:demande_Action,
demande_status:demande_status,
demande_content:demande_content,
demande_color:demande_color,
utf_utilisateur_front_id:1
};
let response = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${getState().auth.token}`,
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
if (!response.ok) {
throw new Error("Something went wrong !");
}
我想用 yii 加載參數獲取數據並在數據庫中插入(創建新需求)。 代碼 Yii:
public function actionDemandeCreate()
{
$demande = new Demande();
$demande->load(Yii::$app->getRequest()->getBodyParams(), '');
if ($demande->save()) {
Yii::$app->response->statusCode = 201;
return [
'demande_id'=>$demande->id,
'demande_title'=>$demande->demande_title,
'created_Date'=>$demande->created_Date,
'updated_Date'=>$demande->updated_Date,
'demande_Type'=>$demande->demande_Type,
'demande_color'=>$demande->demande_color,
'demande_Action'=>$demande->demande_Action,
'demande_status'=>$demande->demande_status,
'demande_content'=> $demande->demande_content,
];
} else {
Yii::error($demande->getErrors(), __METHOD__);
throw new ServerErrorHttpException('Une erreur s\'est produite lors de la création. Merci de réessayer.');
}
}
我有響應錯誤:錯誤:出了點問題
解決了:
let body = {
"demande_title":demande_title,
"created_Date":created_Date,
"updated_Date":updated_Date,
"demande_Type":demande_Type,
"demande_Action":demande_Action,
"demande_status":demande_status,
"demande_content":demande_content,
"demande_color":demande_color,
"utf_utilisateur_front_id":1, };
let response = await fetch(url, {
method: "POST",
headers: {
Authorization: `Bearer ${getState().auth.token}`,
"Content-Type": "application/json",
},
body: JSON.stringify(body),});
if (!response.ok) {
throw new Error("Something went wrong !");}
Yii:
$demande = new Demande();
$params = Yii::$app->getRequest()->getBodyParams();
Yii::trace(print_r($params, true), __METHOD__);
$demande->load($params, '');
if ($demande->save()) {
Yii::$app->response->statusCode = 201;
return
[
'demande_id'=>$demande->demande_id,
'demande_title'=>$demande->demande_title,
'created_Date'=>$demande->created_Date,
'updated_Date'=>$demande->updated_Date,
'demande_Type'=>$demande->demande_Type,
'demande_color'=>$demande->demande_color,
'demande_Action'=>$demande->demande_Action,
'demande_status'=>$demande->demande_status,
'demande_content'=> $demande->demande_content,
];
} else {
Yii::error($demande->getErrors(), __METHOD__);
throw new ServerErrorHttpException('Une erreur s\'est produite lors de la création. Merci de réessayer.');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.