簡體   English   中英

ajax調用laravel 5.2時出現401未經授權的錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM