2017-06-02 19 views
0

Im Stuck!Vue.JS Axios POSTリクエスト.thenメソッド

私はVUEアプリケーションからAXIOS経由でサーバーに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

あなたの返事Kirillに感謝します。メソッド 'customMethod1'が呼び出されます。投稿要求が実行され、サーバーが応答します。ちょうど '.then'黒には何もできません。 – tr909

+1

'catch'コールバックを追加して、失敗していないことを確認してください。 – thanksd

答えて

0

は、サーバーが実際に応答を送信することフィドラーのようなツールを使用して確認したことがありますか?サーバーが実際に応答することはありません。

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

サーバー側で何も返さない場合は、クライアント側でのご.thenが呼び出されません。

私が動作しても私に知らせてください;-)

+0

残念ながら、これは私が行った簡単なテストであり、あなたの答えをテストするためのセットアップがありません。しかし、あなたの答えは、約束を引き起こす戻り値がなければならないという点で意味があります。私はこの質問を削除することができたらいいな... – tr909

関連する問題