我正在通过AXIOS从VUE应用程序向服务器发送POST请求。 一切正常,服务器响应。 问题是,.then方法永远不会被调用。怎么会这样? 奖金问题你是如何从VUE做出请求的?
非常感谢
methods:{
customMethod1: function() {
//AXIOS
var config = {
headers: {'My Custom Header 1': 'Header-Value'}
};
//POST request
axios.post('http://192.168.56.101:5000/post1', {name: 'Dave'}, config)
.then(function(response){
alert("posted successfully");
});
},
}
答案 0 :(得分:0)
您是否通过像Fiddler这样的工具确认服务器实际发送了响应?可能是服务器实际上从未实际响应过。
答案 1 :(得分:0)
我刚刚找到解决方案,我不知道是否应该与发布此问题的人分享:他至少可以回答其他人试图帮助他。 当我在这里找到许多答案时,我发布了我的解决方案(可能不是正确答案,但它有效)
这不是vue.js问题,也不是axios ,只有在服务器端返回某些内容时才会调用.then语句。
解释一些代码:
Product.update(
{
productName: req.body.productName,
productDesc: req.body.productDesc,
productOwner: 0,
productImage: req.body.productImage,
productState: req.body.ProductState,
productPrice: req.body.ProductPrice
},
{
where: {
id: req.body.id
}
})
.then(function (item) {
console.log("Product update " + item.id);
res.send({id: item.id});
})
.catch(function (err) {
console.log("Product update error " + err);
});
这里的重要一点是:
res.send({id: item.id});
如果您在服务器端没有返回任何内容,则不会调用客户端。
让我知道它是否有效,但+1我;-)