データをコントローラのメソッドに非同期で送信しようとしました。私はそれが些細な挑戦だと思っていますが、答えは答えられませんでした。 "必要なパラメータを指定していない"ajax経由でコントローラのメソッドでデータを取得するには?
public function actionRaiting(string $idUser, string $idBook, int $number)
{
$model = new Raiting();
$model->idBook = $idBook;
$model->idUser = $idUser;
$model->number = $number;
if (\Yii::$app->request->isAjax)
{
if ($model->load(\Yii::$app->request->post()))
$model->save();
}
}
スクリプト
$('.rating-input i').click(function()
{
$.ajax(
{
url: 'raiting',
type: "POST",
contentType: 'application/json',
data: {
idUser: $('[name=idUser]').val(),
idBook: $('[name=idBook]').val(),
number: $(this).data("value") ,
},
dataType : 'json'
});
});
が、私は400エラーを取得する
コントローラー: はここに私のコードです。 どうすればいいですか?どうもありがとう!
public function actionRaiting()
{
$model = new Raiting();
$model->idBook = $_POST['idBook'];
$model->idUser = $_POST['idUser'];
$model->number = $_POST['number'];
// ...
}
そして、あなたは、例えば、あなたのリクエストパラメータにCSRFトークンを追加する必要があります
'type:" GET "' – GAMITG