我正在尝试使用axios在VUE.JS中发送帖子请求,但是存在问题。
我在数据中设置了这个TEST对象
data () { return { test:{ name: 'foo', surname: 'bar' } }; },
这是我的方法
testMethod(){
axios.post('url',this.test)
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
}`
它无效。它正在向我的API发送一个空对象。如果我试试这个,它就可以了
testMethod(){
axios.post('url',{'name':'foo', 'surname': 'bar'})
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
}
对于什么是错的任何想法?
不确定这是不是一个错误。
答案 0 :(得分:1)
问题在于变量的范围,您使用的是“ this”一词,但其值取决于调用的位置。 声明一个变量以确保引用了想要的对象
methods: {
testMethod() {
//Ensure that you are referring to the Vue Object
var vm = this;
axios.post('url',vm.test)
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
}
}