我将vuejs
与axios
和Django
用作服务器。 Django
需要参数travelers
,但是当我使用travelers
发送axios
时,它会在末尾添加[],因此它是travelers[]
。
我该如何停止?
这是我的代码的示例示例。
在VueJS
实例中,我有
data = {
filter:{
travelers:[],
order:...,
...
变量travelers
可以是ID数组或空数组。如您所见,我定义的是travelers
,而不是travelers[]
,但它是用[]发送的。
是这个功能:
loadOrders: function () {
axios.get(this.list_orders_url, {
params: this.filter
}).then(function (response) {
app.orders = response.data;
}).catch(function (error) {
console.log(error); // todo
})
},
从字面上看,它将travelers[]=1&travelers[]=2
添加到查询字符串。
答案 0 :(得分:0)
您必须在paramsSerializer
属性中指定序列化逻辑才能使工作正常:)
在此示例中,我使用了query-string,但是您可以随意使用任何其他模块或自定义方法。
const queryString = require('query-string');
loadOrders: function () {
axios.get(this.list_orders_url, {
params: this.filter,
paramsSerializer: params => queryString.stringify(params)
}).then(function (response) {
app.orders = response.data;
}).catch(function (error) {
console.log(error); // todo
})
},