如何从Node.js中的Ajax发布返回成功

莫杰拉

我有一个这样的功能:

exports.saveAction = function (req, res) {
    var conn = mysql.createConnection({
        host     : nconf.get("database:host"),
        //port: 3306,
        user     : nconf.get("database:username"),
        password : nconf.get("database:password"),
        database : nconf.get("database:database"),
        multipleStatements: true,
        //ssl: 'Amazon RDS'
    });
    var action = req.body;   
    conn.query('UPDATE actions SET ? WHERE Id = ?', 
                  [action, action.Id], function (err, result) {
        conn.end();
        if (err) throw err;
        res.writeHead(200, { "Content-Type": "application/json" });
        res.end("Updated Successfully");
    });
};

并且我返回“ 200”,但是它总是在如下所示的error子句中返回:

$.ajax({
    url: "/api/action/SaveAction",
    type: "PUT",
    data: ko.toJSON(self.stripDownObj()),
    datatype: "json",
    contentType: "application/json; charset=utf-8",
    success: function (result) {
        console.log(result);
        if(result.status == 200){
            self.isEditMode(!self.isEditMode());
        }
    },
    error: function(result){
        console.log(result);
    }
});

注意:sql查询成功并且确实保存了数据。

阿德内

通过在期望JSON时返回JSON

res.end('{"success" : "Updated Successfully", "status" : 200}');

接着

$.ajax({
     ....
    datatype: "json", // expecting JSON to be returned

    success: function (result) {
        console.log(result);
        if(result.status == 200){
            self.isEditMode(!self.isEditMode());
        }
    },
    error: function(result){
        console.log(result);
    }
});

在Node中,您始终可以使用JSON.stringify来获取有效的JSON

var response = {
    status  : 200,
    success : 'Updated Successfully'
}

res.end(JSON.stringify(response));

Express还支持

res.json({success : "Updated Successfully", status : 200});

它将对象转换为JSON并自动为您传递适当的标头。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Node JS中的发布请求返回数据?

如何防止Node.js将成功标头发送到Ajax发布请求

如何成功返回ajax结果?

如何解决 node.js 中的“无法发布”问题

如何解决Node.js中的此错误无法发布/Node.js中的错误

如何从ajax成功函数返回数据?

如何遍历 Ajax 成功返回的数据?

Node.js + React:如何发布

如何将成功或失败代码从Node.js返回到Angularjs

如何在$ .jQuery ajax发布成功中使用if语句?

Golang,Ajax-如何在成功函数中返回切片或结构?

如何使普通函数在 node.js 中返回

如何从Node.js中的嵌套函数返回?

如何从 node.js 中的异步函数返回值

Node.js:如何在查询聚合中返回对象?

如何从Node.js中的MongoDB返回JSON?

如何从Node.js中的mySQL查询返回JSON对象

如何从 Node.Js 中的回调函数返回数据

在node.js bluebird中,当“ request / ajax”响应为“成功”时,解决或拒绝promise

jQuery ajax成功功能在Node.js应用程序中不起作用

如何在Express Node.js中发送对Ajax发布请求的响应?[已回答]

如何在 Node.js 中调用 $.ajax

如何使Node js同步?

通过Ajax将嵌套对象发布到Node.js服务器返回未定义

如何在单页 Web 应用程序中处理 node.js 中的“发布”请求

如何使用 Ajax.js 发布变量?

如何限制通过ajax发布的JS对象

如何在VSCode中启用Node.js代码自动完成功能?

如何将发布请求重定向到node.js中的其他URL?