首页 > 解决方案 > laravel 护照持有人令牌不起作用

问题描述

嗨,我正在尝试使用 laravel 中的不记名令牌使护照登录工作。警报显示来自本地存储的令牌。我在 laravel 项目中有以下 javascript 代码:/public/js 文件夹:

    var token   = localStorage.getItem('token');
    alert( token );
    var jsonp_url = "http://localhost/site1/api/get_data?callback=?"
    $.ajax({
        method: "GET",
        dataType: 'jsonP',
        url: jsonp_url,
        jsonp: true,
        headers: {"Authorization": "Bearer " + token},
        success: function(result) {
                alert("DATA");
                alert(JSON.stringify(result));
        },
        error: function(result) {
            alert("ERR");
            alert(JSON.stringify(result));
        }
    });

然后在一个外部 javascript 文件中,我将其包含如下:

<script src="http://localhost/site1/public/js/api_users.js" type="text/javascript"></script>

api.php 中的 API 路由如下:

Route::middleware('auth:api')->get('/get_data', function (\Illuminate\Http\Request $request) {
    try {
                return response()->json([ 'stuff' => 'some data'], '200' )->setCallback($request->input('callback'));
    }
    catch( \Exception  $e ) {
                        Log::error('Error - ajax_srch_postcode'.$e);

                        return Response()->json([ 'error' => 'Error cannot proceed!!'], 500 ); // Status code here
    }
});

所以代码返回一个状态 200 消息,但正在 ajax 代码中的错误处理程序代码,而不是结果位......有什么想法吗?

标签: laravel

解决方案


推荐阅读