Я пытаюсь сохранить базу данных в yii2 с помощью ajax, но я получаю ошибки. Я просто хочу вставить значение или скорость, которая «вверх» в базу данных, и я не хочу использовать форму, просто нажав кнопку.Сохранить в базе данных 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')]);
}
Это мой, это мой Аякса файл
$("#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>
Я получаю эту ошибку ALERT
The page at localhost says":
"[object Object]"
Сделайте 'var_dump ($ thumbs);' перед и внутри 'if'. Каковы значения объекта? –
Вместо '' 'alert (exception)' '' use '' 'console.log (exception)' '' и использовать средства разработки браузера для изучения того, что находится в этой переменной. Вы должны увидеть сообщение, объясняющее ошибку. – cronfy
Я заметил, что вы не указали параметр 'id', который вы используете здесь' Yii :: $ app-> getRequest() -> getQueryParam ('id'); 'Также в вашем действии эти две вещи повторяются и ошибочны:' if ($ thumbs-> load (Yii :: $ app-> request-> post())) {'и' $ thumbs-> load ($ _ POST); 'Оба они одинаковы, но ничего не делают. Мой совет: сначала убедитесь, что ваше действие работает правильно, а затем используйте его в ajax. – leninhasda