2017-06-02 122 views
0

Im卡住了!Vue.JS Axios POST请求。然后方法

我正在通过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

谢谢你的答复基里尔。调用'customMethod1'方法。发布请求被执行并且服务器回复。只要'然后'黑色我什么都不能做。 – tr909

+1

尝试添加一个'catch'回调,只是为了确保它没有失败。 – thanksd

回答

0

你有没有通过像小提琴手一个工具,服务器实际上发送响应确认了吗?这可能是服务器从未实际响应。

0

我刚刚找到了解决方案,我不知道是否应该与发布此问题的人分享:他至少可以回答其他人试图帮助他。 正如我在这里找到很多答案我张贴我的解决方案(也许不是正确的答案,但它的工作原理)

这不是一个vue.js问题,也不是爱可信,当你返回东西。那么语句只叫服务器端。

一些代码来解释:

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我;-)

+0

不幸的是,这是我做了一个简短的测试,我没有设置来测试你的答案。然而,你的回答是有道理的,必须有一个回报价值来触发承诺。我希望我能删除这个问题... – tr909