jQuery是否在一个post中发送cookie?
我想知道是否,当我使用jQuery $ .post(…) , 发送请求发送到服务器的任何cookie?
谢谢!
Cookie通过Ajax请求发送。
当HTTPOnly标志被设置为cookie时,这个cookie对于客户端脚本是隐藏的,但是cookie仍然是通过Ajax请求发送的。
当你打开httpOnlyCookies时,在客户端和服务器上使用相同的cookie是不可能的。 这个也有很好的理由:
使用Firefox + Firebug,你可以看到jQuery发送了什么,以及如何。 用于debugging!
对不起,是一个湿的毯子,但我要在这里反对积极的共鸣,并说不。
我目前正在使用$ .post构build一个应用程序来连接到我的API后端,它由Express和node.js支持 。 我正在使用Express cookieparsing器中间件来读取每个请求中发送的cookie。 如果我通过浏览器直接打我的端点,后端服务器可以看到我的域上可见的cookie。 但是,当我在我的应用程序中使用$ .post时,cookie对象只是空白。
这可能是我错过了一些东西,但我已经testing了这几个小时,我得出的结论是,cookies不是使用jQuery $ .post请求发送的:/
有一点要考虑的是cookiepath。 如果一个ajax加载的脚本设置了一个cookie,那么它的path可能与父页面不同,把它放在一个服务器应用程序或JQuery的不同的范围内。 今天我花了一段时间在我的车轮上旋转,然后注意到我有麻烦的cookies有一个不同的path设置。
简单的解决方法是设置所有cookie的path到jquery /在我的ajax请求中,如下所示:
$.cookie("isolates_grid_tgl", "true", { path: "/" });