javascript - 使用 Backbone.js 发布请求中的 header

标签 javascript rest backbone.js

我想使用 Backbone.js 将 header 放入对我的 REST 服务的发布请求中,我尝试了两种方法:

this.model.save( { headers: {'X-Token' : myToken } } );

还有一个 setResquestHeader :

函数:

sendToken: function (xhr) {
        var tokenCookie;

        var name = "xtoken" + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) 
        {
            var c = ca[i].trim();
            if (c.indexOf(name)==0) tokenCookie = c.substring(name.length,c.length);
        }
          xhr.setRequestHeader('X-Token', tokenCookie);
        }

电话:

this.model.save({ 
                beforeSend: this.sendToken,

                success: function() {

                    alert("success");
                },
                error: function(model,response,options) {
                    alert("error");

                }

            });     

但是好像不行,它不发送header

最佳答案

Model.save 的签名是 model.save([attributes], [options]) 。您必须传递一个空/空的属性散列才能添加选项:

this.model.save(null, {
    headers: {'X-Token' : 'myToken'}
});

还有一个演示 http://jsfiddle.net/nikoshr/a4gss/

或者

this.model.save(null, {
    beforeSend: function(xhr) {
        xhr.setRequestHeader('X-Token', 'set token');
    }
});

http://jsfiddle.net/nikoshr/a4gss/1/

关于javascript - 使用 Backbone.js 发布请求中的 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21825485/

相关文章:

java - 为 @ExceptionHandler 编写 JUnit 测试

rest - 如何在Grails中将领域类作为REST资源编写集成测试?

javascript - Backbone.js Once()事件方法: counter increment example

jquery - Backbone model.save() 在 chrome 中报告错误

javascript - gulp-typescript 正在编译所有 .ts 文件,而不仅仅是来自特定位置的文件

javascript - 在 JavaScript 中使用可选参数

javascript - 如何使用 JavaScript 更改表格中的列宽?

java - Swagger 引用对 Spring 对象的响应,使用 Swagger 进行分页

javascript - 刻度显示为 100μ 而不是 0.0001

javascript - Backbone Marionette LayoutView 找不到 DOM 元素