相关疑难解决方法(0)

向Backbone.js添加HTTP基本身份验证标头同步功能可防止在Save()上更新模型

我正在开发一个Web应用程序,它由一个用Python的CherryPy框架编写的restful API提供支持.我开始用jQuery和服务器端模板的组合编写用户界面,但最终切换到Backbone.js因为jQuery失控.

不幸的是,我在让我的模型与服务器同步时遇到了一些问题.这是我的代码中的一个简单示例:

$(function() {
    var User = Backbone.Model.extend({
        defaults: {
            id: null,
            username: null,
            token: null,
            token_expires: null,
            created: null
        },

        url: function() {
            return '/api/users';
        },

        parse: function(response, options) {
            console.log(response.id);
            console.log(response.username);
            console.log(response.token);
            console.log(response.created);
            return response;
        }
    });

    var u = new User();
    u.save({'username':'asdf', 'token':'asdf'}, {
        wait: true,
        success: function(model, response) {
            console.log(model.get('id'));
            console.log(model.get('username'));
            console.log(model.get('token'));
            console.log(model.get('created'));
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

您可能会说,这里的想法是使用该服务注册新用户.当我打电话时u.save();,Backbone确实向服务器发送了一个POST请求.以下是相关位:

请求:

Request URL: http://localhost:8080/api/users
Request Method: POST
Request Body: {"username":"asdf","token":"asdf","id":null,"token_expires":null,"created":null}
Run Code Online (Sandbox Code Playgroud)

响应:

Status Code: HTTP/1.1 200 OK …
Run Code Online (Sandbox Code Playgroud)

javascript cherrypy basic-authentication http-headers backbone.js

5
推荐指数
1
解决办法
7237
查看次数