使用Backbone和Node将模型保存到服务器

时间:2015-04-14 07:37:48

标签: javascript ajax node.js backbone.js

我是Backbone / AJAX的新手(并且是新节点,我的服务器正在运行的节点),而我正在尝试"保存"我的模型使用Backbone的Save方法给用户。我试图为我的大学项目实施网络聊天。目前我想发送用户输入的用户名和密码。

我的服务器端代码:

//Module user
exports.login = function(req, res) {
    console.log("login request");
    console.log(req.body);
    res.sendStatus(200);
};
//Main Server Script
app.post("/user/login", user.login);

我的客户端代码。

login: function(self) {
    self.model.urlRoot = "/user/login";
    self.model.save({}, {
        success: function(model, response) {
                console.log('SUCCESS:');
                console.log(response);
            },
        error: function(model, response) {
                console.log('FAIL:');
                console.log(response);
            }
    });
}

该视图调用该函数,该视图包含登录按钮并将视图作为参数获取。该视图引用了其模型。

在服务器上,我按预期获得输入的数据,但客户端上的响应给出了错误:

FAIL:
Object { 
    readyState: 4, 
    getResponseHeader: .ajax/v.getResponseHeader(), 
    getAllResponseHeaders: .ajax/v.getAllResponseHeaders(),
    setRequestHeader: .ajax/v.setRequestHeader(), 
    overrideMimeType: .ajax/v.overrideMimeType(), 
    statusCode: .ajax/v.statusCode(), 
    abort: .ajax/v.abort(), 
    state: .Deferred/d.state(), 
    always: .Deferred/d.always(), 
    then: .Deferred/d.then(), 
    // 11 weitere… 
}

我试图自己解决这个问题,但我没有得到它。

1 个答案:

答案 0 :(得分:1)

您的服务器没有发回任何内容(或OK字符串),响应无法解释为有效的JSON,然后jQuery认为查询失败。

在您的用户模块中,尝试

exports.login = function(req, res) {
    console.log("login request");
    console.log(req.body);

    // send back an empty object
    res.json({}); 
};