[英]401 Unauthorized error on ajax call laravel 5.2
當我在做 ajax 調用時,我收到 401 Unauthorized 錯誤。
這是我的ajax代碼:
var email=document.getElementById( "email" ).value;
if(email)
{
var data = 'email='+ email;
$.ajax({
type: 'POST',
dataType: "json",
data: {"_token": "{{ csrf_token() }}","data":data},
url: "{{ URL::to('admin/check_email_exit') }}",
success: function (response) {
if(response=="1")
{
$( '#email_status' ).html('Email Already Exists');
return false;
}
else
{
$( '#email_status' ).html("");
return false;
}
}
});
}
else
{
$( '#email_status' ).html("");
return false;
}
我的路線:
Route::post('admin/check_email_exit', 'CompanyController@check_email_exit');
這是我的控制器代碼,用於檢查電子郵件是否退出:
public function check_email_exit(){
$email = $_POST["email"];
$user_email = DB::table('users')->where('email',$email)->select('*')->get();
$use_email=count($user_email);
if($use_email > 0 )
{
return "1";
}
else
{
return "0";
}
}
如何解決這個錯誤..??
只需在 ajax 請求頭中設置X-CSRF-Token
headers: {
'X-CSRF-Token': {{ csrf_token() }}
}
這可能對你有幫助。
檢查您是否需要您正在調用的路由,用戶是否必須被授權。 如果不是這種情況,那么您可以嘗試在auth中間件之外定義路由。 像這樣的東西。
之前:
Route::group(['middleware' => 'auth'], function() {
Route::get('route_name', [Controller::class, 'methd']);
... other routes
});
之后:
Route::get('route_name', [Controller::class, 'methd']);
Route::group(['middleware' => 'auth'], function() {
... other routes
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.