2016-06-26 3 views
0

yii2でajaxを使用してデータベーステーブルにデータを挿入しようとしています。しかし、私は実際にそれについて行く方法を知らない私はコントローラにポストデータを送信したい問題は、ajaxスクリプトから来ているようだ。私は 'アップ'のレートの値を表示するためのものです。代わりに警告が表示されます。yii2にajaxのデータを挿入しますか?

これが私の見解クラス

<?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); 
      } 
     }); 
    }; 

はこれを試してみてください、これはこれは私が警告

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(); 
     } 

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

私contollerクラスです:

<?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

関連する問題