为什么axios .post()方法没有达到承诺?

时间:2017-01-17 06:53:14

标签: javascript jquery server axios

我正在尝试从我的客户端使用axios向我的服务器发出一个发布请求,如下所示:

    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()并打印“你好”。可能是什么原因?

2 个答案:

答案 0 :(得分:0)

我猜您的请求正文有问题。你可以尝试修改为:

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

您尝试在代码中reqBody传递的内容不是有效的JSON或javascript对象。

答案 1 :(得分:0)

我意识到问题是我的'/users'路线没有在回复中发回任何东西。在路由中添加空.send()后,承诺中的代码被执行。