Разница между топором ios и этим. $ Axios - PullRequest
1 голос
/ 17 апреля 2020

Я занимаюсь разработкой с использованием nuxt и gridsome. Это все vue фреймворки, и я обнаружил, что есть что-то интересное.

Когда я делаю так:

<script>
    import axios from 'axios';
    ...
    created: function created() {
        axios.get(process.env.NUXT_ENV_API_URL + '/users').then(res=>{
        this.options=res.data.map(function(data){
            return {name: data.url, provider_id: data.provider_id};
        });
    }

Я получаю 401 ошибку (бэкэнд равен laravel).

message: "Unauthenticated."

Но когда я использую это, оно работает.

<script>
import axios from 'axios';
...
created: function created() {
    this.$axios.get(process.env.NUXT_ENV_API_URL + '/users').then(res=>{
        this.options=res.data.map(function(data){
            return {name: data.url, provider_id: data.provider_id};
        });
}

1 Ответ

1 голос
/ 17 апреля 2020

Это потому, что Ax ios позволяет создавать свои экземпляры, которые вы можете настроить. Поэтому, когда вы делаете axios.get, лежащий в основе, Ax ios создает экземпляр на лету, прежде чем использовать его. Когда вы делаете this.$axios.get, вы используете уже созданный экземпляр, который был настроен где-то еще в вашем коде (например, путем добавления некоторых заголовков HTTP)

...