通过$.ajax()登录到站点后,我正在尝试向该站点发送第二个$.ajax()请求 - 但是当我检查使用FireBug发送的标头时,请求中不包含会话cookie 。

我究竟做错了什么?

#1楼

我遇到了同样的问题并做了一些检查我的脚本只是没有得到sessionid cookie。

我通过查看浏览器中的sessionid cookie值得出结论,我的框架(Django)默认使用HttpOnly传递sessionid cookie。 这意味着脚本无法访问sessionid值,因此不会将其与请求一起传递。 当很多东西使用需要访问限制的Ajax时,HttpOnly会成为默认值,这有点荒谬。

为了解决这个问题,我更改了一个设置(SESSION_COOKIE_HTTPONLY = False),但在其他情况下,它可能是cookie路径上的“HttpOnly”标志

#2楼

运用

xhrFields: { withCredentials:true }

作为我的jQuery ajax调用的一部分只是解决方案的一部分。 我还需要在我的资源的OPTIONS响应中返回标头:

Access-Control-Allow-Origin : http://www.wombling.com

Access-Control-Allow-Credentials : true

重要的是,OPTIONS调用的响应头中只有一个允许的“origin”而不是 “*”。 我通过从请求中读取原点并将其填充回响应来实现这一点 - 可能绕过限制的原始原因,但在我的用例中,安全性并不是最重要的。

#3楼

对这个问题已经有了很多好的回答,但是我认为澄清你希望发送会话cookie的情况可能会有所帮助,因为cookie域匹配,但是由于AJAX请求是被制作到不同的子域。 在这种情况下,我有一个分配给* .mydomain.com来域中的饼干,而我希望它被包含在一个AJAX请求different.mydomain.com”。默认情况下,该cookie不会发送。您不需要在会话cookie上禁用HTTPONLY来解决此问题。您只需要执行wombling建议( https://stackoverflow.com/a/23660618/545223 )并执行以下操作。

1)将以下内容添加到您的ajax请求中。

xhrFields: { withCredentials:true }

2)将以下内容添加到响应标头中,以获取不同子域中的资源。

Access-Control-Allow-Origin : http://original.mydomain.com

Access-Control-Allow-Credentials : true

#4楼

也许不是100%回答这个问题,但我偶然发现了这个线程,希望在ajax-从innovastudio编辑器的assetmanager发布文件上载时解决会话问题。 最终解决方案很简单:他们有一个flash-uploader。 禁用(设置

var flashUpload = false;

在asset.php)并且灯开始再次闪烁。

由于这些问题很难调试,我发现在上传处理程序中放置如下内容会让你(好吧,在这种情况下我)在正确的轨道上:

$sn=session_name();

error_log("session_name: $sn ");

if(isset($_GET[$sn])) error_log("session as GET param");

if(isset($_POST[$sn])) error_log("session as POST param");

if(isset($_COOKIE[$sn])) error_log("session as Cookie");

if(isset($PHPSESSID)) error_log("session as Global");

深入了解日志,我很快发现了丢失的会话,没有发送cookie。

#5楼

把它放在你的init函数中:

$.ajaxSetup({

xhrFields: {

withCredentials: true

}

});

它会工作。

cookie httponly ajax,为什么jquery的.ajax()方法没有发送我的会话cookie?相关推荐

  1. ajax传cookie,为什么jquery的.ajax()方法没有发送我的会话cookie?

    我在跨域方案中运行. 在登录期间,远程服务器返回Set-Cookie标头以及设置为true的Important note: when responding to a credentialed requ ...

  2. jQuery中的ajax、jquery中ajax全局事件、load实现页面无刷新局部加载、ajax跨域请求jsonp、利用formData对象向服务端异步发送二进制数据,表单序列化(异步获取表单内容)

    jQuery中使用ajax: 在jQuery中使用ajax首先需要引入jQuery包,其引入方式可以采用网络资源,也可以下载包到项目文件中,这里推荐下载包到文件中:市面上有多个版本的jQuery库,这 ...

  3. JS原生Ajax和jQuery的Ajax与代码示例

    JS原生Ajax和jQuery的Ajax [学习目标] 1,了解JS原生Ajax原理 2,掌握json数据格式 掌握json数据格式方式 掌握json的解析方式 3,掌握jQuery中的Ajax封装 ...

  4. AJAX初识(原生JS版AJAX和Jquery版AJAX)

    一.什么是JSON 1.介绍JSON独立于语言,是一种与语言无关的数据格式.JSON指的是JavaScript对象表示法(JavaScript Object Notation)JSON是轻量级的文本数 ...

  5. 利用jquery操作ajax,利用jquery对ajax操作,详解原理(附代码)

    1.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. load() 方法从服务器加载数据,并把返回的数据放入被选元素中. 语法: $(selector ...

  6. eazyui ajax传值,jquery easyui ajax data属性传值方式

    $.ajax({ url:url, type:'post', data:data, dataType:'json', contentType: "application/x-www-form ...

  7. 原生ajax和Jquery的ajax

    目录 原生ajax 传统请求(同步方式)的问题 Ajax优势和作用 Ajax请求与传统请求的区别: ajax原理(方法,属性 ) XMLHttpRequest open send 属性 readySt ...

  8. jq异步实现ajax,用jQuery的AJax实现异步访问、异步加载

    本篇文章实现了用jQuery的AJax实现异步访问和异步加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. [异步访问] 用一个例子用以说明:点击按钮,将input内用户输入的数据发送给服务端, ...

  9. jquery ajax parsererror,jQuery为ajax请求返回“ parsererror”

    我一直在从jquery收到针对Ajax请求的" parsererror",我尝试将POST更改为GET,以几种不同的方式(创建类等)返回数据,但是我似乎无法弄清楚问题出在哪里. 我 ...

  10. WEB22_Js原生Ajax和Jquery的Ajax

    一.Ajax概述 1.什么是同步,什么是异步 同步现象: 客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待卡死状态 异步现象: 客户端发送请求到服务器端,无论服务器是否返回响应,客户端 ...

最新文章

  1. 深入理解虚拟机之虚拟机字节码执行引擎
  2. 干货 | 100+个NLP数据集大放送,再不愁数据!
  3. java mock什么意思_java @Mock, @MockBean 与 Mockito.mock( ) 之间的差异
  4. Java中hashCode()方法以及HashMap()中hash()方法
  5. 前端-requests-flask对应关系 args
  6. 37. 重定向 21
  7. Transformer(李宏毅2022)
  8. 【WSL2 Win10】解决子系统中nividia-smi出现的Failed to initialize NVML GPU access blocked by the operating systeM
  9. 基于jsp+mysql+Spring+mybatis java的SSM健身房管理系统
  10. File-backed Storage
  11. 小米文件管理连接服务器,小米文件管理器中的远程管理无法连接解决方法
  12. 2022年国家高新技术企业认定评审最新标准及补贴政策重点,补贴10-50万
  13. 数据仓库DW、ODS、DM及其区别
  14. 《职业经理人常犯的11个错误》——余世维
  15. A. Arena of Greed
  16. 让你秒懂古人测算地球周长的原理
  17. 正版solidworks软件多少钱?solidworks正版软件如何购买?
  18. 2021.11.17洛谷小鱼游泳进阶版——c语言
  19. 路由器php7安装,小米路由器3G建站折腾笔记4 - 安装opkg和onmp
  20. 射频了解一丢丢【2】

热门文章

  1. EXcel用法——如何冻结前两行,如何删除筛选的行
  2. 吴伯凡-认知方法论-如何增加自己认知的维度
  3. Spark Streaming官网重点整理
  4. IRPT_TAS简介
  5. OSChina 周一乱弹 ——东京12G
  6. linux pbs 安装包,【Linux】单计算机安装PBS系统(Torque)与运维
  7. 怎样设置公众号自动回复
  8. QT property属性的应用
  9. 微积分英文书籍第八版 CALCULUS eight edition
  10. 马化腾致信合作伙伴:灰度法则的七个维度