vue entre ejemplos crear comunicacion componentes componente como vue.js axios

vue.js - entre - vue js componente



¿Cómo configurar encabezado y opciones en axios? (6)

Uso axios para realizar una publicación HTTP como esta:

import axios from ''axios'' params = {''HTTP_CONTENT_LANGUAGE'': self.language} headers = {''header1'': value} axios.post(url, params, headers)

¿Es esto correcto? O debería hacer:

axios.post(url, params: params, headers: headers)


Puede enviar una solicitud de obtención con encabezados (por ejemplo, para la autenticación con jwt):

axios.get(''https://example.com/getSomething'', { headers: { Authorization: ''Bearer '' + token //the token is a variable which holds the token } })

También puede enviar una solicitud de publicación.

axios.post(''https://example.com/postSomething'', { email: varEmail, //varEmail is a variable which holds the email password: varPassword })

Mi forma de hacerlo, es establecer una solicitud como esta:

axios({ method: ''post'', //you can set what request you want to be url: ''https://example.com/request'', data: {id: varID}, headers: { Authorization: ''Bearer '' + varToken } })


Axios se puede utilizar de cualquiera de las siguientes maneras:

// Make a request for a user with a given ID axios.get(''/user?ID=12345'') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); // Optionally the request above could also be done as axios.get(''/user'', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });

entonces para una solicitud de publicación:

axios.post(''/user'', { firstName: ''Fred'', lastName: ''Flintstone'' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });

No olvide importar la biblioteca de axios antes de hacer una llamada ajax con axios


Este es un ejemplo simple de una configuración con encabezados y responseType:

var config = { headers: { ''Content-Type'': ''application/x-www-form-urlencoded'' }, responseType: ''blob'' }; axios.post(''http://YOUR_URL'', this.data, config) .then((response) => { console.log(response.data); });

Content-Type puede ser ''application / x-www-form-urlencoded'' o ''application / json'' y también puede funcionar ''application / json; charset = utf-8''

responseType puede ser ''arraybuffer'', ''blob'', ''document'', ''json'', ''text'', ''stream''

En este ejemplo, este.data son los datos que desea enviar. Puede ser un valor o una matriz. (Si desea enviar un objeto probablemente tendrá que serializarlo)


Hay varias formas de hacerlo:

  • Para una sola solicitud:

    let config = { headers: { header1: value, } } let data = { ''HTTP_CONTENT_LANGUAGE'': self.language } axios.post(URL, data, config).then(...)

  • Para configurar la configuración global por defecto:

    axios.defaults.headers.post[''header1''] = ''value'' // for POST requests axios.defaults.headers.common[''header1''] = ''value'' // for all requests

  • Para establecer como predeterminado en la instancia de axios:

    let instance = axios.create({ headers: { post: { // can be common or any other method header1: ''value1'' } } }) //- or after instance has been created instance.defaults.headers.post[''header1''] = ''value'' //- or before a request is made // using Interceptors instance.interceptors.request.use(config => { config.headers.post[''header1''] = ''value''; return config; });


Puede inicializar un encabezado predeterminado axios.defaults.headers

axios.defaults.headers = { ''Content-Type'': ''application/json'', Authorization: ''myspecialpassword'' } axios.post(''https://myapi.com'', { data: "hello world" }) .then(response => { console.log(''Response'', response.data) }) .catch(e => { console.log(''Error: '', e.response.data) })


Puedes pasar un objeto de configuración a axios como:

axios({ method: ''post'', url: ''....'', params: {''HTTP_CONTENT_LANGUAGE'': self.language}, headers: {''header1'': value} })