Laravel 6 API 401 Несанкционированный от ajax - PullRequest
0 голосов
/ 19 февраля 2020

Laravel 6 Ajax МОЙ маршрут API:

Route::middleware(['auth:api'])->group(function(){
   Route::resource('academic_year','AcademicYear\AcademicYearController')->except(['create', 'edit']);
}

Есть ajax запрос и все еще неавторизованный этот мой запрос:

var token = "{{Auth()->user()->api_token}}";
    console.log('token: '+token);
    var basicData = {
      'headers': {
          'Authorization' : 'Bearer '+token,
          'Accept' : 'application/json',
      },
      '_token': "{{csrf_token()}}"
    };
    var data = basicData;
    data['title'] = $('input.academic-title').val();
    console.log(data);
    $.ajax({
      url: "{{route('academic_year.index')}}",
      method: 'POST',
      datatype: 'application/json',
      data: basicData,
      success: function(data, status, xhr){
       console.log(status);
      },
      error: function(xhr, status, message){
        console.log(status);
      },
    });

Я не знаю, где проблема !!

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Проверьте свой токен еще раз, похоже, вы не смогли аутентифицироваться на сервере. 401 несанкционированный сообщает, что запрос обрабатывается, только если запрос сделан от пользователя authenti c. Для получения дополнительной информации о http коде ответа вы можете посетить https://cloudtoolz.io/http-response-status-codes/

0 голосов
/ 19 февраля 2020

Я думаю, что проблема заключается в отправке токена с заголовком. можно попробовать вот так установить токен с заголовком

var token = "{{Auth()->user()->api_token}}";
    var basicData = {
      '_token': "{{csrf_token()}}"
    };
    var data = basicData;
    data['title'] = $('input.academic-title').val();
    console.log(data);
    $.ajax({
      url: "{{route('academic_year.index')}}",
      method: 'POST',
      headers: {"Authorization": 'Bearer '+token,'Accept' : 'application/json'}
      datatype: 'application/json',
      data: basicData,
      success: function(data, status, xhr){
       console.log(status);
      },
      error: function(xhr, status, message){
        console.log(status);
      },
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...