62
задан 20 July 2018 в 21:42

8 ответов

var config = {
    headers: {'Authorization': "bearer " + token}
};

var bodyParameters = {
   key: "value"
}

Axios.post( 
  'http://localhost:8000/api/v1/get_token_payloads',
  bodyParameters,
  config
).then((response) => {
  console.log(response)
}).catch((error) => {
  console.log(error)
});

первым параметром является URL.
вторым является тело JSON, которое будет отправлено вдоль Вашего запроса.
третий параметр заголовки (среди прочего). Который является JSON также.

64
ответ дан 31 October 2019 в 13:34

Вот уникальный способ маркера установки Authorization в axios. Установка конфигурации к каждому вызову axios не является хорошей идеей, и можно изменить маркер Авторизации по умолчанию:

const axios = require('axios');
axios.defaults.baseURL = 'http://localhost:1010/'
axios.defaults.headers.common = {'Authorization': `bearer ${token}`}
export default axios;

Редактирование

Некоторый API требует, чтобы несущая была записана как Несущая, таким образом, можно сделать:

axios.defaults.headers.common = {'Authorization': `Bearer ${token}`}

Теперь Вы не должны устанавливать конфигурацию на каждый вызов API. Теперь маркер Авторизации установлен на каждый вызов axios.

33
ответ дан 31 October 2019 в 13:34

Второй параметр axios.post data (не config). config третий параметр. Посмотрите это для деталей: https://github.com/mzabriskie/axios#axiosposturl-data-config

23
ответ дан 31 October 2019 в 13:34

Можно создать конфигурацию однажды и использовать ее везде.

const instance = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  headers: {'Authorization': 'Bearer '+token}
});

instance.get('/path')
.then(response => {
    return response.data;
})
12
ответ дан 31 October 2019 в 13:34

При помощи перехватчика Axios:

const service = axios.create({
  timeout: 20000 // request timeout
});

// request interceptor

service.interceptors.request.use(
  config => {
    // Do something before request is sent

    config.headers["Authorization"] = "bearer " + getToken();
    return config;
  },
  error => {
    Promise.reject(error);
  }
);
10
ответ дан 31 October 2019 в 13:34

Если Вы хотите к некоторым данным после передающего маркера в заголовке так, чтобы попытка этот код

const api = 'your api'; 
const token = JSON.parse(sessionStorage.getItem('data'));
const token = user.data.id; /*take only token and save in token variable*/
axios.get(api , { headers: {"Authorization" : `Bearer ${token}`} })
.then(res => {
console.log(res.data);
.catch((error) => {
  console.log(error)
});
5
ответ дан 31 October 2019 в 13:34

Это работает, и я должен установить маркер только однажды в моем app.js:

axios.defaults.headers.common = {
    'Authorization': 'Bearer ' + token
};

Затем я могу выполнить запросы в своих компонентах, не устанавливая заголовок снова.

"axios": "^0.19.0",

0
ответ дан 31 October 2019 в 13:34

Это - то, с чем я также столкнулся. Маркер, который Вы являетесь передающими, не корректен.

Просто Hardcode маркер и передача, Вы получите корректный ответ. Но если маркер не будет передан в одинарной кавычке'', то затем это, конечно, перестанет работать. Это должна быть в формате 'Авторизация': 'Несущая YzE5ZTdiMjVlYzM5NjA2MGJkZTM5NjVlOTQ5YMmQ5ZjMwYjA0YmEzZmZjN2I1MmI4MDJkNQ', где после Несущей одно пространство должно присутствовать, также в одинарных кавычках, это очень важно.

var token = "YzE5ZTdiMjVlYzM5NjA2MGJkZTM5NjVlOTQ5YMmQ5ZjMwYjA0YmEzZmZjN2I1MmI4MDJkNQ";

var headers = {
  Authorization: "Bearer " + token,
  Accept: "application/json, text/plain, */*",
  "Content-Type": "application/json"
};

IMP: вышеупомянутый код будет работать, Но если Вы отправляете что-то как:

'Авторизация': 'Несущая' + YzE5ZTdiMjVlYzM5NjA2MGJkZTM5NjVlOTQ5YMmQ5ZjMwYjA0YmEzZmZjN2I1MmI4MDJkNQ, это перестанет работать

, или-----ниже кода также перестанет работать, я надеюсь, что u понимают основное различие

var token = YzE5ZTdiMjVlYzM5NjA2MGJkZTM5NjA0YmEzZmZjN2I1MmI4MDJkNQ;

var headers = {
  Authorization: "Bearer " + token,
  Accept: "application/json, text/plain, */*",
  "Content-Type": "application/json"
};
-1
ответ дан 31 October 2019 в 13:34

Другие вопросы по тегам:

Похожие вопросы: