我的 PHP api 要求从我的前端 Backbone 应用程序发出的每个请求都提交一个用户 token ,以确保用户...
- 活跃
- 有权访问该资源
在 Backbone 中设置它的最简单方法是什么?我猜唯一的方法是覆盖 Backbone.sync,但是代码会是什么样子呢?首选 CoffeeScript。
编辑
还有两件事
1. 如果出现 403: Access Forbidden Error
,我想将用户重定向到 /login
2. 当应用程序启动时,我从 localStorage 中提取包含 token 的用户模型
3. 我有一个 baseModel 和 baseCollection,所有模型/集合都来自
最佳答案
Backbone 使用 jQuery 的 $.ajax , 所以你可以使用 $.ajaxSetup “为 future 的 Ajax 请求设置默认值”:
$.ajaxSetup({
headers: {
"accept": "application/json",
"token": YOUR_TOKEN
}
});
更新:这个想法的改进(感谢@Glen)是使用$.ajaxSend每次在请求的 header 中设置 token 之前检查 token 是否存在:
$(document).ajaxSend(function(event, request) {
var token = App.getAuthToken();
if (token) {
request.setRequestHeader("token", token);
}
});
其中 App.getAuthToken() 是您的 Backbone 应用程序中的一个函数。
关于javascript - 使用每个主干同步请求发送 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14203928/