2017-06-02 120 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