我正在尝试将post请求发送到服务器,我对它没有多少控制权。我唯一知道的是,如果我在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
但是当我试图通过axios进行时,似乎没有正确的params数据可以通过。我试过了
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'
}))
.
.
.
有人知道如何在axios中翻译这种类型的数组数据吗?
答案 0 :(得分:2)
您可以使用原生axios
来创建请求。您可以使用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);
});

您可以尝试从浏览器here运行axios代码。
答案 1 :(得分:2)
这个问题也对我突然出现,我用new FormData()
解决了这个问题。
具有数组:
const product_id_list = ['pid1234', 'pid1235']
const bodyFormData = new FormData();
product_id_list.forEach((item) => {
bodyFormData.append('product_id_list[]', item);
});
axios.post('https://test.com/api/get_product', bodyFormData)
以这种方式进行操作时,它以application / x-www-form-urlencoded的形式发送了请求,并在正文中发送了正确的数据。
答案 2 :(得分:0)
您可以尝试以下操作:
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);
});
另外,你应该好好看看axios documentation。
答案 3 :(得分:0)
我认为您在网址后缺少单引号:
axios.post('https://test.com/api/get_product', {
product_id_list: ['pid1234', 'pid1235']
})
答案 4 :(得分:0)
$.ajax({
type: "POST",
url: "proceso.php",
data: {'array': array,'array2': array2},
success: function(data){
console.log(data);
}
});
答案 5 :(得分:0)
您可以使用 'Content-Type': 'application/json'
标头发送您的帖子请求(如果服务器可以处理)
const productList = [1, 2, 3, 4]
const data = JSON.stringify({product_list: productList})
const config = {
headers: {'Content-Type': 'application/json'}
}
return axios.post('api/url', data, config)