首页 > 解决方案 > 为什么这个对控制器的 ajax 调用不能在特定页面(Laravel)中工作?

问题描述

有一个 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 并在我的方法的第一行使用它,但我根本不需要发送任何数据,我只发送它是因为我不知道如何不发送任何数据。所以忽略那一点。

标签: javascriptphpjqueryajaxlaravel

解决方案


好的,我找到了解决方案,我不敢相信自己犯了这么愚蠢的错误。我没有添加 jQuery。所以我在html的头部添加了一个简单的行,问题就解决了。这是代码行:

<script src="http://code.jquery.com/jquery.min.js"></script>

推荐阅读