Tengo una aplicación que fue escrita en jQuery. Estoy tratando de modernizarlo. Como parte de eso, estoy tratando de convertir una solicitud jQuery a Axios. Mi solicitud de jQuery se ve así:
var myUrl = '[someUrl]'; var myData = { firstName: 'Joe', lastName: 'Smith' }; $.ajax({ type: 'POST', url: myUrl, cache: 'false', contentType:'application/json', headers: { 'Content-Type': 'application/json', 'key': '12345' }, data: JSON.stringify(myData), success: onSearchSuccess, error: onSearchFailure, complete: onSearchComplete });
Ahora, con mi código moderno, tengo lo siguiente:
var myUrl = '[someUrl]'; var myData = { firstName: 'Joe', lastName: 'Smith' }; axios.post(myUrl, myData) .then(function (response) { alert('yeah!'); console.log(response); }) .catch(function (error) { alert('oops'); console.log(error); }) ;
No estoy seguro de cómo pasar los encabezados o si necesito encadenar myData
. ¿Puede alguien indicarme el camino correcto?
¿Has probado el manual ? :)
Esto es lo que necesitas:
axios.post(url[, datos[, configuración]])
La forma de traducir eso en código es:
var myUrl = '[someUrl]'; var myData = { firstName: 'Joe', lastName: 'Smith' }; axios.post(myUrl, myData, { headers: { 'Content-Type': 'application/json', 'key': '12345' } // other configuration there }) .then(function (response) { alert('yeah!'); console.log(response); }) .catch(function (error) { alert('oops'); console.log(error); }) ;
El objeto devuelto implementa la API de A+ Promise . Según su configuración, es posible que deba rellenar eso, pero hay muchos paquetes disponibles en el registro npm .