2016-06-26 4 views
0

Я пытаюсь вставить данные в таблицу базы данных, используя ajax в yii2. но я действительно не знаю, как это сделать. Я хочу отправить данные сообщения контроллеру, проблема, похоже, исходит из сценария ajax. Это означает, что я показываю значение скорости, которая является «вверх». вместо этого предупреждение покажет мне.Вставить данные с помощью ajax в yii2?

это мой вид класса

<?php 

use yii\widgets\ListView; 
use yii\data\ArrayDataProvider; 
use app\models\MyProfile; 
use app\models\LikeDiscussion; 
use yii\widgets\ActiveForm; 
use common\models\Topic; 
use common\models\Thumbs; 
use common\models\Comment; 
use common\models\Candidate; 
use yii\widgets\Pjax; 
use yii\helpers\Html; 
use frontend\assets\AppAsset; 

$this->title = 'My Yii Application'; 
?> 
<button id="save" name="save" class="readmore">up</button> 

это мой файл JS.

var fac= document.getElementById("save"); 
    fac.onclick = function fun(){ 
     $.ajax({ 
      url: '/index.php?r=site%2Fblog', 
      type: 'post', 
      data:{"rate": 'up'}, 
      success:function(data){ 
       alert(data); 
      } 
     }); 
    }; 

это мой класс Контроллер илит

<?php 

    public function actionBlog(){ 
     $thumbs= new Thumbs(); 
     if(isset($_POST['rate'])){ 
      $thumbs->user=Yii::$app->user->identity->email; 
      $thumbs->topic_id = 1; 
      $thumbs->rate = $_POST['rate']; 
      $thumbs->load($_POST); 
      $thumbs->save(); 
     } 

     return $this->render('blog'); 
    } 

это то, что я получаю как предупреждение

enter image description here

ответ

0

Попробуйте это:

<?php 

    public function actionBlog(){ 
     $thumbs= new Thumbs(); 
     if(isset($_POST['rate'])){ 
      $thumbs->user=Yii::$app->user->identity->email; 
      $thumbs->topic_id = 1; 
      $thumbs->rate = $_POST['rate']; 
      $thumbs->load($_POST); 
      $thumbs->save(); 

      if(Yii::$app->request->isAjax) 
       return $thumbs->rate; 
     } 

     return $this->render('blog'); 
    } 
+0

До сих пор не работает это давая мне ту же ошибку – arinze

+0

Можете ли вы показать вкладку «runtime/logs/app.log» и вкладку «Сеть» на консоли Chrome? – Vitaly

+0

Вы знаете какой-либо другой способ, я просто хочу добавить большие пальцы вверх и большие пальцы вниз. И я хочу использовать ajax, потому что я не хочу, чтобы кнопки были в форме – arinze

Смежные вопросы