2017-04-10 52 views
1

我想送2個變量FavorisController{{ Auth::user()->id }}和我在URLLaravel傳遞數據通過Ajax到控制器

這個id是我到目前爲止已經試過

路線:

Route::get('annonce_test/{id}','[email protected]'); 

我的AJAX腳本

$(document).ready(function() { 
    $('.favoris').click(function(){     
     var id_user = "{{ Auth::user()->id }}" ; 
     $.ajax({ 
      url: 'annonce_test/{id}', 
      type: 'GET',    
      data: {id: 1, id_user: $id_user}, 
      success: function(data){ 
       alert(Ajouter au Favoris avec succes); 
      }, 
      error: function(){}, 
     });"" 
    });   
}); 

FavorisController

public function create(Requests $request) 
{ 
    $id_annonce = $_GET['id']; 
    $id_user = $_GET['id_user']; 
    $query = DB::table('annonce_residentiel_user') 
    ->insertGetId(
     array('annonce_residentiel_id' => $id_annonce , 'user_id' => $id_user) 
     ); 
} 

我得到了錯誤試圖讓非對象{{ Auth::user()->id }}

的財產,但這個是做了正確的方法是什麼?我的意思是如果我有另一個刪除腳本,我應該在我的ajax腳本中填入url。

+1

是用戶登錄?如果沒有,則沒有身份證。另外,你的ajax網址不正確。您需要將id_user附加到URL而不是使用'{id}' – aynber

+0

您還需要傳遞CSRF令牌。 [文檔](https://laravel.com/docs/5.4/csrf) dsadnick

+0

哦,你現在可以訪問頁面。但它不執行ajax代碼我嘗試了一個警報,但沒有顯示出來 –

回答

1

移動Auth::user()到PHP的一部分從JS腳本:

->insertGetId(['annonce_residentiel_id' => $id_annonce , 'user_id' => auth()->user()->id]); 

另外,確保用戶進行身份驗證的東西,如:

if (auth()->check()) { 
    // Do stuff. 
} 
+0

這是正確的我想我的錯誤在我的ajax代碼中:data屬性 –

0

根據您的路線定義$ id是爭論創建方法並從ajax調用中獲取更多數據,則應使用Input :: get。此外,只有當ajax調用中的url格式爲ex:annonce_test/25時,路由纔會被激活。檢查ajax調用的更新。

路線:

Route::get('annonce_test/{id}','[email protected]'); 

Ajax調用:

 $(document).ready(function() { 
    $('.favoris').click(function(){     
     var id_user = "{{ Auth::user()->id }}" ; 
     $.ajax({ 
      url: 'annonce_test/'+id_user, 
      type: 'GET', 
      data: {id: 1}, 
      success: function(data){ 
       alert(Ajouter au Favoris avec success); 
      }, 
      error: function(){}, 
     }); 
    });   
    }); 

FavorisController:

public function create($id) 
    { 
     $id_annonce = Input::get['id']; 
     $query = DB::table('annonce_residentiel_user')->insertGetId(
      array('annonce_residentiel_id' => $id_annonce , 'user_id' => $id)); 
    } 
相關問題