使用Paginator(主干.js)时无法检测用户是否已登录
Cannot detect if User is Logged in when using Paginator (backbone.js)
我使用的是Backbone.js Paginator插件。它通过为参与分页的模型定义自己的Collection来很好地进行无限滚动分页。如果用户登录,PHP后端将返回具有附加属性is_liked
的Backbone对象,以使该项具有不同的CSS样式。
问题:当分页器插件(具有自己的Collection Backbone.Paginator.requestPager
)在后端执行GET fetch
请求时,后端无法确定用户是否已登录!然而,当我使用通常的Backbone.Collection
时,后端能够确定用户是否登录!它也适用于$.post()
。这让我认为问题出在插件的Backbone.Paginator.requestPager
上
我正在使用Chrome开发工具的"网络"部分检查结果。如果身份验证检查有效,则可以看到api/test
返回了有关用户的一些数据。如果无法确定登录状态,则返回null
更新:Backbone.Paginator.requestPager
集合发送的GET
请求在Backbone.Collection
发送的GET
请求中的标头中不包括Cookie
信息。这可能是问题所在吗?如何强制Backbone.Paginator.requestPager
不从标头中剥离cookie数据?
这里发生了什么?我该如何解决这个问题(而不重写我自己的分页代码)?
使用PHP后端(Laravel Framework)的Auth测试
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'
});
传呼机的集合[不工作]
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;
}
});
这是一个跨域问题:
一个请求指向此URL:http://www.mysite.com/api/test?page=1
另一方面:http://mysite.com/api/test
对于浏览器来说,www.mysite.com完全不同,因此如果在www.mysitecom上生成Cookie,则向mysite.com发出的请求将不会包含该Cookie。请确保两个请求都指向同一域,这样您就不会出现Cookie问题。
- 如何检测用户是否在同一会话中打开了多个窗口或选项卡
- jQuery:如何检测用户何时再次滚动到顶部
- 检测用户是否具有打印功能
- 检测用户是否有从其重定向的意图's页
- 使用jQuery检测用户是否退出全屏视频
- 如何检测用户何时在主动滚动
- 如何检测用户是否移动了滚动条
- 有没有办法检测用户是否真的远离计算机
- 检测用户关闭标签页或离开网站
- 检测用户是否点击了添加到主屏幕
- 检测用户是否通过浏览器返回按钮到达当前页面
- 如何检测用户点击了内部或外部链接
- 如何检测用户何时在Google Places字段中输入无效位置
- 使用Paginator(主干.js)时无法检测用户是否已登录
- 如何检测用户浏览器客户端
- 检测用户是否按下“;打印“;在程序调用的打印对话框上
- 如何同步检测用户是否拒绝访问地理位置数据
- 如何检测用户是否正在使用windows平板电脑
- 检测用户是否没有't输入任何内容/删除输入jQuery
- jquery检测用户何时滚动到列表顶部