【发布时间】:2018-08-11 08:33:26
【问题描述】:
有一个 Ajax 调用适用于其他页面,但不适用于我想要使用它的页面。这是脚本:
<script type="text/javascript">
var city = "مشهد";
$.ajax({
method: 'GET',
url: '/changecredsgrabdata',
data: {id : city},
success: function(response){
alert(JSON.stringify(response));
}
});
</script>
路线如下:
Route::get('/changecredsgrabdata', 'LoginController@placeholders');
这里是控制器方法:
public function placeholders(Request $req) {
$qer = $req->id;
$user_id = SESSION::get('user_id'); //GETTING USER ID
foreach($user_id as $key=>$item){
$user_id[$key]= (array)$item;
}
$user_id = $user_id[0]["user_id"]; /////////////////
$user_data = DB::select
('SELECT user_mail ,user_firstname, user_family, user_mobile FROM app_users WHERE user_id= ?' , [$user_id]);
return response()->json($user_data);
}
ajax 可以在其他页面中使用,$user_data 也不是空的,这正是我想要的。 我还传递了一个城市 id 并在我的方法的第一行使用它,但我根本不需要发送任何数据,我只发送它是因为我不知道如何不发送任何数据。所以忽略那一点。
【问题讨论】:
-
您在此页面上时是否已登录?
-
我是。当我用 echo (SESSION::get('loggedin')) 替换返回视图时,我得到一个“1”,表示我已登录。
-
登录后其他页面还能正常使用吗?
-
他们在登录时工作。
-
问题似乎只出在 ajax 上。当我重定向到 LoginController 和 dd($user_data) 的相同方法时,它显示正常。
标签: javascript php jquery ajax laravel