我在将令牌附加到主干 url 查询字符串时遇到了一些麻烦,希望你们能在这里帮助我。三件事要知道,
- 有一个rest api,每个请求都需要一个令牌
- 一个执行身份验证的 nginx 后端,为 /api 下的 api 提供主干应用程序 + 代理请求
- 我是 javascript + 主干的新手:/
主干应用程序实际上从 cookie 中读取令牌,并且每次主干进行调用时,我都需要将其附加到请求 url。我看到这可以通过覆盖主干同步来完成。但它在一些不同的事情上困扰着我。就像,这就是我所做的
console.log('overriding backbone sync');
var key ="token";
Backbone.old_sync = Backbone.sync
Backbone.sync = function(method, model, options) {
if (method === 'read') {
if (!(model.url.indexOf('?key=') != -1)) {
model.url = model.url + '?key=' + key;
}
} else {
old_url = model.url();
if (!(old_url.indexOf('?key=') != -1)) {
model.url = function() {
return old_url + '?key=' + key;
}
}
}
Backbone.old_sync(method, model, options);
};
model.url 在它不是“读取”方法并且不知道如何处理它时返回一个函数,另一个问题是当发出连续请求时,令牌被添加两次。我试图用那个 indexOf 东西删除它,但没有运气。
有一个更好的方法吗 ?