J'essaie d'envoyer une demande de publication à un serveur sur lequel je n'ai pas beaucoup de contrôle. La seule chose que je sache, c'est que je peux obtenir la réponse correcte si je poste les données suivantes dans Postman
x-www-form-urlencoded radio button checked
Entered the following 2 array data:
product_id_list[] pid1234
product_id_list[] pid1235
Header - Content-Type: application/x-www-form-urlencoded
Method: Post
Mais lorsque j'ai essayé de le faire via axios, il ne semble pas que les données correctes puissent être transmises. J'ai essayé
axios.post('https://test.com/api/get_product,
querystring.stringify({
'product_id_list': ['pid1234', 'pid1235']
}))
.
.
.
axios.post('https://test.com/api/get_product,
querystring.stringify({
'product_id_list[]': 'pid1234',
'product_id_list[]': 'pid1235'
}))
.
.
.
Quelqu'un a une idée sur la façon de traduire ce type de données de tableau dans axios?
Vous pouvez utiliser la variable axios
native pour créer une demande. Vous pouvez transmettre votre charge utile avec la clé data
.
import axios from 'axios';
let payload = {
product_id_list: ['pid1234', 'pid1235']
};
axios({
url: 'https://test.com/api/get_product',
method: 'post',
data: payload
})
.then(function (response) {
// your action after success
console.log(response);
})
.catch(function (error) {
// your action on error success
console.log(error);
});
Vous pouvez essayer d’exécuter votre code axios depuis votre navigateur ici .
Je pense qu'il vous manque un symbole entre guillemets après l'URL:
axios.post('https://test.com/api/get_product', {
product_id_list: ['pid1234', 'pid1235']
})
Vous pouvez essayer ce qui suit:
var payload = {
product_id_list: [
'pid1234',
'pid1235'
]
};
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
payloaxios.post('https://test.com/api/get_product', payload)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
En outre, vous devriez bien regarder documentation axios .