2017-01-17 5 views
2

私はこのように、私のサーバーへのPOSTリクエストを作るために私のクライアントからaxiosを使用しようとしています:axios .post()メソッドが約束を得られないのはなぜですか?

var firstName = $('#first-name').val(); 
    var lastName = $('#last-name').val(); 
    var organization = $('#organization').val(); 
    var email = $('#email').val(); 
    var password = $('#password').val(); 
    var complete = false; 
    if (firstName == "" || lastName == "") { 
     $('#name-group').addClass('has-error') 
    } 
    var reqBody = { 
     firstName, 
     lastName, 
     email, 
     password 
    }; 
    if (organization != "") { 
     reqBody.organization = organization; 
    } 
    axios.post('/users', reqBody) 
    .then(function (res) { 
     console.log("hello");  
    }).catch(function (err) { 
     console.log(err); 
    }); 

ポスト要求が正常に起こっているが、それは.then()と印刷に入ることはないです「こんにちは。」これの原因は何でしょうか?

答えて

0

あなたのリクエストボディに問題があると思います。あなたはのように変更してみてくださいすることができます:あなたのコードでreqBodyに合格しようとしているものは何でも

var reqBody = { 
     "firstName": firstName, 
     "lastName" : lastName, 
     "email" : email, 
     "password" :password 
    }; 

が有効JSONやJavaScriptオブジェクトではありません。

+0

有効な 'JSON'にするように修正しましたが、それでもなお約束を得られません。 –

0

私の問題は、私の'/users'ルートが応答で何も返さなかったことに気付きました。ルートに空の.send()を追加した後、約束のコードが実行されました。

関連する問題