我尝试将2个变量发送到FavorisController
:{{ Auth::user()->id }}
以及我在网址中的id
这是我到目前为止所尝试的
路线:
Route::get('annonce_test/{id}','FavorisController@create' );
我的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。
答案 0 :(得分:1)
将Auth::user()
部分从JS脚本移至PHP:
->insertGetId(['annonce_residentiel_id' => $id_annonce , 'user_id' => auth()->user()->id]);
此外,请确保用户通过以下方式进行身份验证:
if (auth()->check()) {
// Do stuff.
}
答案 1 :(得分:0)
根据您的路由定义,$ id是create方法的参数,要从ajax调用中获取更多数据,您应该使用Input :: get。此外,只有当ajax调用中的url格式为ex:annonce_test / 25时,才会激活该路由。检查ajax调用的更新。
路线:
Route::get('annonce_test/{id}','FavorisController@create' );
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));
}