我構建了一個新的laravel 5.4項目。Laravel 5.4 Api Route 401
我試圖在我的api路徑中執行以下步驟,但不知何故,它們不起作用。
在我app.js文件,我有這樣的Ajax調用:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
}
});
$.ajax({
url: 'api/postStream',
type: 'post',
data: { imgData: imgData },
success:function(data) {
console.log('success');
}
});
我的API路線是這樣的:
Route::group(['middleware' => 'auth:api'], function()
{
Route::post('postStream', ['as' => 'image', 'uses' => '[email protected]']);
});
而且我的控制器:
public function postStream(Request $request)
{
$imgData = $request->imgData;
...
}
但我在我的chrome dev控制檯中得到這個錯誤:
POST http://localhost/app/public/api/postStream 401 (Unauthorized)
和網絡工具這樣的:
{error: "Unauthenticated."}
error
:
"Unauthenticated."
我想我有點不authentificated,但我不知道如何做到這一點這種方式。
這能幫助你嗎? https://laracasts.com/discuss/channels/laravel/many-time-401-unauthorized-on-ajax-requests – Cr1xus
你確定你打的是正確的端點嗎?我的猜測是http請求應該去http:// localhost/api/postStream。 – Unex
如果您使用'['middleware'=>'auth:api']',則需要傳遞訪問令牌。遵循創建API,保護API和請求API密鑰的步驟。首先你需要獲得訪問密鑰,並通過ajax調用。我使用'Passport'爲我的API提供身份驗證。 https://laravel.com/docs/5.4/passport – webDev