我正在使用Backbone.js 分页器插件。它通过为分页中涉及的模型定义自己的集合来很好地进行无限滚动分页。如果用户已登录,PHP 后端将返回带有附加属性的 Backbone 对象,is_liked
以使该项目具有不同的 CSS 样式。
问题:当 Paginator 插件(带有自己的 Collection Backbone.Paginator.requestPager
)在后端执行 GETfetch
请求时,后端无法确定用户是否已登录!但是,当我使用通常Backbone.Collection
的 时,后端能够确定用户是否已登录!它也适用于 a $.post()
。这让我觉得问题出在插件的Backbone.Paginator.requestPager
我正在使用 Chrome 开发者工具的网络部分检查结果。如果身份验证检查有效,api/test
则可以看到返回有关用户的一些数据。如果无法确定登录状态,则返回 null
更新:集合发送的GET
请求Backbone.Paginator.requestPager
不包括在发送的请求Cookie
中找到的标头中的信息。这可能是问题吗?如何强制不从标头中删除 cookie 数据?GET
Backbone.Collection
Backbone.Paginator.requestPager
这里发生了什么?我该如何解决这个问题(无需重写我自己的分页代码)?
使用 PHP 后端(Laravel 框架)进行身份验证测试
Route::any('api/test', function() {
// This will return some data of the user if logged in
return json_encode(Auth::user());
});
典型的骨干集合 [作品]
SimilarUserCollection = Backbone.Collection.extend({
model: User,
url: 'api/test'
});
Paginator 的集合 [不工作]
PhotoCollection = Backbone.Paginator.requestPager.extend({
model: Photo,
paginator_core: {
type: 'GET',
dataType: 'json',
url: 'api/test'
},
paginator_ui: {
firstPage: 1,
currentPage: 1,
perPage: 7,
totalPages: 10
},
server_api: {
'page': function() { return this.currentPage; }
},
parse: function (response) {
return response;
}
});