(Laravel 5.6, vue) Ошибка Axios 401 с PUT, POST, PATCH в Safari - PullRequest
0 голосов
/ 17 сентября 2018

Используя только Safari (последняя версия High Sierra), я получаю ошибку 401 при каждом запросе, который не является GET.

Я протестировал запрос опций с почтальоном, и он возвращает 200 OK ответ.

Проблема в том, что заголовок авторизации не отправляется. Это запрос: запрос и ответ сафари

Я тестировал его на Chrome, Firefox и Opera, и он работает. Вот код, обратите внимание, что я не использую короткую версию axios (. Post, .get), как описано здесь

      let url = (edit)?'/api/things/'+vm.nthing.id:'/api/things';
      let method = (edit)?'patch':'put';

      axios({
        method:method,
        url:url,
        headers:vm.headers,
        data:{
          final: vm.nthing.final,
          note: vm.nthing.note
        }
      })
      .then(res=>{
        //Some modal stuff
      })
      .catch(err=>{
        console.log(err);
      });

Заголовок var:

headers:{
    "Authorization":"Bearer "+this.$auth.getToken()
  },

1 Ответ

0 голосов
/ 18 сентября 2018

Хорошо, поэтому очевидно, что объекты со строковым свойством игнорируются в Safari, поэтому элемент авторизации *1003* в заголовке никогда не передавался, следовательно, ошибка 401.

Не работает

let headers={
 "Authorization":"abcdef...."
}

Работает

let headers={
 Authorization:"abcdef...."
}

Также будьте осторожны с косыми чертами в URL-адресе аксиоса.

...