ajaxを使用してyii2のデータベースに保存しようとしていますが、エラーが発生しています。私はちょうどデータベースに "アップ"されている値またはレートを挿入したいと思うし、ボタンをクリックするだけでフォームを使いたくない。yii2のデータベースに保存
は、これはこれは私のコントローラ
public function actionThumbs()
{
$thumbs = new Thumbs;
$thumbs->user = Yii::$app->user->identity->email;
$thumbs->topic_id = Yii::$app->getRequest()->getQueryParam('id');
$thumbs->rate = $_POST["rate"];
if ($thumbs->load(Yii::$app->request->post())) {
$thumbs->load($_POST);
$thumbs->save();
return $this->redirect(['blog', 'id' => Yii::$app->getRequest()->getQueryParam('id')]);
}
return $this->redirect(['blog','id' => Yii::$app->getRequest()->getQueryParam('id')]);
}
である私のこれが私のAJAXファイル
$("#mys").click(function() {
var rate = "up";
$.ajax({
type: 'POST',
url: 'vot/frontend/web/index.php?r=site%2Fthumbs',
data: 'rate='+rate,
success: function (rate) {
alert("test");
},
error: function (exception) {
alert(exception);
}
});
});
<div>
<?= Html::Button('ups', ['class' => 'btn btn-primary', 'name' => 'mys' ,'id'=>'mys']) ?>
</div>
が、私はこの警告エラーを取得する図である
The page at localhost says":
"[object Object]"
デフォルトYii2コントローラによって
'if'の前後に' var_dump($ thumbs); 'を作成します。オブジェクトの値は何ですか? –
''警告(例外) ''の代わりに '' console.log(例外) '' 'を使用し、ブラウザ開発ツールを使ってこの変数の内容を調べます。 – cronfy
ここで 'Yii :: $ app-> getRequest() - > getQueryParam( 'id');を使用している' id'パラメータがないことに気付きました。 ($ thumbs-> load(Yii :: $ app-> request-> post())){'と' $ thumbs-> load($ _ POST); 'どちらも同じですが、実際に何もしていません。私のアドバイス:まずあなたの行動が適切に働いていることを確認してから、それをajaxで使用してください。 – leninhasda