嗨,我正在尝试使用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代码中的错误处理程序代码,而不是结果位...任何想法?