type react nodejs node how guide example content javascript node.js axios

javascript - react - node axios example



Cliente Axios Http-Cómo construir URL Http Post con parámetros de formulario (2)

Estoy tratando de crear una solicitud postHTTP con algunos parámetros de formulario que se deben establecer. Estoy usando los axios con el servidor de nodo. Ya tengo una implementación de código java para construir una url como se muestra a continuación:

CÓDIGO JAVA:

HttpPost post = new HttpPost(UriBuilder.fromUri (getProperty("authServerUrl")) .path(TOKEN_ACCESS_PATH).build(getProperty("realm"))); List<NameValuePair> formParams = new ArrayList<NameValuePair>(); formParams.add(new NameValuePair("username",getProperty ("username"))); formParams.add(new NameValuePair("password",getProperty ("password"))); formParams.add(new NameValuePair("client_id, "user-client"));

Estoy tratando de hacer lo mismo en axios.

IMPLEMENTACIÓN DE AXIOS:

axios.post(authServerUrl +token_access_path, { username: ''abcd'', //gave the values directly for testing password: ''1235!'', client_id: ''user-client'' }).then(function(response) { console.log(response); //no output rendered }

¿Es correcto el enfoque para establecer estos parámetros de formulario en la solicitud posterior?


¿Por qué utilizar otra biblioteca o módulo para hacer algo tan simple con JavaScript puro? Realmente es una línea de JS para producir los datos deseados para enviar en su solicitud POST.

// es6 example const params = { format: ''json'', option: ''value'' }; const data = Object.entries(params) .map(([key, val]) => `${key}=${encodeURIComponent(val)}`) .join(''&''); console.log(data); // => format=json&option=value const options = { method: ''POST'', headers: { ''content-type'': ''application/x-www-form-urlencoded'' }, data, url: ''https://whatever.com/api'', }; const response = await axios(options); // wrap in async function console.log(response);


Tienes que hacer lo siguiente:

var querystring = require(''querystring''); //... axios.post(authServerUrl + token_access_path, querystring.stringify({ username: ''abcd'', //gave the values directly for testing password: ''1235!'', client_id: ''user-client'' }), { headers: { "Content-Type": "application/x-www-form-urlencoded" } }).then(function(response) { console.log(response); });