ajax跨域以及cookie丢失问题解决

前端:

以jquery为例:

需要加入

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为例:

header("Access-Control-Allow-Credentials: true");
header(‘Access-Control-Allow-Origin: http://m.z.com‘);
 根据自己的情况而定
时间: 2024-12-26 09:20:31

ajax跨域以及cookie丢失问题解决的相关文章

使用JSONP彻底解决Ajax跨域访问Cookie Session的方案

最近做开发时要把图片文件放到另外一台服务器上(另外一个域名),因为这样分布式存放,网站打开速度会快很多.而我采用AJAX获取图片服务器上某用户的图片时遇到了问题,按照通常的方式无法获取信息,得到的Cookie都是null,后来想到浏览器出于安全考虑JavaScript和iframe不能跨域访问,那我们就要考虑使用其他途径来完成了,捣鼓了2天终于找到了解决方案,我使用JSONP来解决,请看. JS代码: $.ajax({ type: "get", url: "http://ww

Ajax跨域请求COOKIE无法带上的解决办法

原生ajax请求方式: var xhr = new XMLHttpRequest(); xhr.open("POST", "http://xxxx.com/demo/b/index.php", true); xhr.withCredentials = true; //支持跨域发送cookies xhr.send(); jquery的ajax的post方法请求: $.ajax({ type: "POST", url: "http://xx

ajax跨域获取cookie信息

js脚本ajax请求 news.xxx.com 请求www.xxx.com获取登录状态信息 $.ajax({             type: "GET",             url: 'http://www.xxx.com/index.php?m=member&'+Math.random(),             data: {},             dataType: "Html",             xhrFields: {  

ajax 跨域无法携带cookie 解决办法

ajax 跨域无法携带cookie,需要用到session,终于完美结局 xhrFields: { withCredentials: true }, 添加这个可能是大家都会做的一件事 但是添加上了之后就出现了另外一个问题 The 'Access-Control-Allow-Origin' header contains the invalid value 'Origin'. Origin ...... 2.服务器server端要配置Access-Control-Allow-Credentials

IE9版本号下面ajax 跨域问题解决

ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的. 让測试就发现问题了,IE8下请求不到数据.然后我查看一下自己写的js看有没有不兼容问题.但是都没有啊.为什么就请求不到呢. 我把ajax的error打印出来提示no transport.网上找了资料在js中第一行加这个就能够了jQuery.support.cors = true; 好了这个问题没有了,但是又有还有一个error没有权限.这个问题百度了好多都没有我想要的,最后看了一篇文章让我豁然开朗这是IE浏览器的安全性设置问题, 解决方

IE9版本以下ajax 跨域问题解决

ajax跨域请求数据在谷歌火狐我本地IE11都是没问题的. 让测试就发现问题了,IE8下请求不到数据,然后我查看一下自己写的js看有没有不兼容问题,可是都没有啊,为什么就请求不到呢. 我把ajax的error打印出来提示no transport,网上找了资料在js中第一行加这个就可以了jQuery.support.cors = true; 好了这个问题没有了,可是又有另一个error没有权限.这个问题百度了好多都没有我想要的,最后看了一篇文章让我豁然开朗这是IE浏览器的安全性设置问题, 解决方法

ajax跨域问题解决思路

ajax跨域问题的解决思路主要分为3种: 1.浏览器限制解决思路:不让浏览器做出限制解决方法:通过指定参数,让浏览器不做跨域校验评价:价值不大,需要每个人都做改动,而且改动是客户端的改动 2.XHR请求解决思路:不使用XHR解决方法:JSONP缺点:无法满足现有的开发要求 3.跨域(重要)解决思路:(1)被调用方修改代码,使其支持跨域(2)调用方隐藏跨域解决思路:(1)被调用方通过修改返回的信息,加入一些字段,允许调用方调用,此时只要通过浏览器跨域校验则允许跨域(2)使用代理,通过指定的url转

jquery ajax跨域的完美解决方法(jsonp方式)

ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发 JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式.分别是JQuery的 jquery.ajax jsonp格式和jquer

AJAX是什么? AJAX的交互模型(流程)?同步和异步的区别? AJAX跨域的解决办法?

ajax是异步的 JavaScript 和 XML.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 交互流程: 1--启动  获取XMlHttpRequest对象             2--open 打开url通道,并设置异步传输              3--send 发送数据到服务器             4--服务器接受数据并处理,处理完成后返回结果              5--客户端接收