【问题标题】:Why is axios .post() method not getting to the promise?为什么 axios .post() 方法没有兑现承诺?
【发布时间】:2017-06-01 03:15:42
【问题描述】:

我正在尝试使用客户端的 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);
    });

post 请求成功发生,但它永远不会进入.then() 并打印“hello”。这可能是什么原因?

【问题讨论】:

    标签: javascript jquery server axios


    【解决方案1】:

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

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

    无论您试图在代码中传递 reqBody 的内容,都不是有效的 JSON 或 javascript 对象。

    【讨论】:

    • 我修复了它以使其有效JSON,但它仍然没有兑现承诺。
    【解决方案2】:

    我意识到问题在于我的'/users' 路由没有在响应中发回任何内容。我在路由中添加了一个空的.send()后,promise中的代码就被执行了。

    【讨论】:

      猜你喜欢
      • 2015-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 2016-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多