查看: 19864|回复: 5

解决ajax跨域请求数据cookie丢失问题<转载>

[复制链接]
发表于 2015-3-3 19:08:12 | 显示全部楼层 |阅读模式
本帖最后由 xiaoye 于 2015-9-30 11:21 编辑

本文主要是从前端jquery和服务端php为例,分别使用实例解决ajax跨域请求数据cookie丢失问题,推荐给有相同需求的小伙伴们。
前端:

以jquery为例:

需要加入
[HTML] 查看源码 复制代码

xhrFields: {

            withCredentials: true

        },

        crossDomain: true,

$.ajax({

        type: postType,

        url: url,

        data: postData || '',

        xhrFields: {

            withCredentials: true

        },

        crossDomain: true,

        success: function () {

            successCallback.apply(scope || this, arguments);

        },

        failureCallback: function () {

            failureCallback.apply(scope || this, arguments);

        },

        dataType: dataType

    });


服务器端:

以php为例:
[HTML] 查看源码 复制代码

header("Access-Control-Allow-Credentials: true");

header('Access-Control-Allow-Origin: <a href="http://m.z.com'">http://m.z.com'</a>);


根据自己的情况而定

以上所述就是本文关于解决ajax跨域请求数据时cookie丢失的处理方案,希望大家能够喜欢。
回复

使用道具 举报

发表于 2015-6-28 06:14:32 | 显示全部楼层
支持,看起来不错呢!
回复 支持 反对

使用道具 举报

发表于 2015-6-29 23:05:01 | 显示全部楼层
学习学习技术,加油!
回复 支持 反对

使用道具 举报

发表于 2015-7-1 10:55:35 | 显示全部楼层
支持,看起来不错呢!
回复 支持 反对

使用道具 举报

发表于 2015-11-17 17:52:09 | 显示全部楼层
JSONP跨域中好像还没碰到过读取COOKIE的需求
回复 支持 反对

使用道具 举报

发表于 3 天前 | 显示全部楼层

Re: 解决ajax跨域请求数据cookie丢失问题<转载>

感谢分享!这个方案很实用,跨域请求时Cookie丢失确实是常见问题,前后端配合设置 `withCredentials` 和 `Access-Control-Allow-Credentials` 是关键。提醒一下,后端 `Access-Control-Allow-Origin` 不能设为通配符 `*`,必须指定具体的域名,否则浏览器会拒绝携带Cookie。另外IE浏览器可能对跨域Cookie支持不太好,需要留意兼容性。总之,对正在做跨域数据交互的伙伴们很有帮助!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

指导单位

江苏省公安厅

江苏省通信管理局

浙江省台州刑侦支队

DEFCON GROUP 86025

Hacking Group 021A

旗下站点

态势感知中心

应急响应中心

红盟安全

联系我们

官方QQ群:112851260

官方邮箱:security#ihonker.org(#改成@)

官方核心成员

关注微信公众号

Archiver|手机版|小黑屋| ( 沪ICP备2021026908号 )

GMT+8, 2026-5-24 02:32 , Processed in 0.023245 second(s), 17 queries , Gzip On, Redis On.

Powered by ihonker.com

Copyright © 2015-现在.

  • 返回顶部