【问题标题】:Django user.is_authenticated via ajax works in WebKit but not FirefoxDjango user.is_authenticated via ajax 适用于 WebKit 但不适用于 Firefox
【发布时间】:2011-12-02 16:53:51
【问题描述】:

我正在向 /isauthenticated 发送跨域 jsonp 请求,该请求路由到返回 user.is_authenticated(0 或 1)的函数。它在 WebKit 中运行良好,但在 Firefox 5-7 中每次都返回 0,即使我已明确登录。如果我复制 ajax 发送的 url(包括 ?callback=callback)并将其粘贴到浏览器中,它可以工作应该的。

Firefox ajax 是否需要不同的标头或其他内容?

这是我现在的 ajax 调用。

$.ajax({
    url: domain + '/account/isauthenticated/',
    dataType: 'jsonp',
    success: function(data) {
       if(data === 0) {
          //Not logged in, every time in Firefox
       } else if(data == 1) {
          //logged in
       }
    }
});

谢谢!

【问题讨论】:

  • Access-Control-Allow-Credentials 标头的值是多少? Access-Control-Allow-Origin 标头的值是什么?发送了哪些 cookie?在 OSX 上,您可以通过在发出请求之前在 firefox 中键入 cmd+shift+k 来获取此数据,然后单击请求。
  • 这些标头不存在,也没有显示任何正在发送的 cookie。在 WebKit 中,它显示正在发送的 cookie,但没有显示这些标头。有什么想法吗?谢谢你的回复。

标签: jquery ajax django http firefox


【解决方案1】:

第三方 cookie 在浏览器设置中被阻止。呵呵。

【讨论】:

    猜你喜欢
    • 2013-08-27
    • 2011-01-18
    • 2018-05-05
    • 2012-02-14
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多