jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 为什么Rails无法访问来自Internet Explorer的Ajax请求中的Session?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在sessions_Helper中有以下代码

def current_user
   @current_user ||= User.find_by_remember_token(cookies[:remember_token])
 end

这让我从任何控制器调用current_user来获取当前用户. (我从头开始使用类似于Railstutorial’s或@L_674_5@的身份验证).

我有一个名为lookup_result的ajax请求,它检查服务器以查看特定结果是否准备就绪.

$.get("/lookup_result?id=<%=id%>");

它转到以下控制器方法

def lookup result
  user = current_user 
  # do things with user...
end

这通常可以正常工作,但有时Rails无法获取current_user.我怀疑问题是cookie或CSRF令牌在某些情况下无法通过ajax请求传递,但为什么它通常有效?我该如何修复它以便始终有效?

更新:
我不知道如何复制错误.只有已登录用户才能访问发送该请求的页面(尽管有人可以将ajax请求复制到另一个登录的浏览器中).我用rollbar报告错误并保存请求数据.

当current_user失败时,这是user-agent的常用数据:

这意味着Internet Explorer通过Ajax发送会话信息存在一些问题.有人知道怎么修这个东西吗?

下面你可以看到它返回的所有数据类别,尽管它对于任何带有“session”的东西都是空的.

解决方法

如果用户为零,当然没有“帐户”:)

对于IP地址和用户代理,您应该使用request.env对象进行检查.无论用户是否提供,请求信息仍然存在.

大佬总结

以上是大佬教程为你收集整理的jquery – 为什么Rails无法访问来自Internet Explorer的Ajax请求中的Session?全部内容,希望文章能够帮你解决jquery – 为什么Rails无法访问来自Internet Explorer的Ajax请求中的Session?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。