入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

web 跨域 session丢失解决方法

创建时间:2017-04-08 投稿人: 浏览次数:1468

1、html ajax中加入属性

xhrFields: {
 withCredentials: true
 },

整个ajax请求如下

$.ajax({
            url: "http://server.change.com/api/toLogin",
            type: "POST",
            data: {},
            dataType:"json",
            xhrFields: {
         withCredentials: true
      },
      // crossDomain: true,
            success: function(data){

...

2、加入header

header("Access-Control-Allow-Origin: http://template.change.com");

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

由于加了响应头"Access-Control-Allow-Credentials: true",Access-Control-Allow-Origin的值不能再为*,需要指定。

如果你需要任意站点都能访问你的api,可以先获取http_origin,在php中是用$_SERVER["HTTP_ORIGIN"]获取的

然后将header("Access-Control-Allow-Origin: http://template.change.com");改成header("Access-Control-Allow-Origin: ".$_SERVER["HTTP_ORIGIN"]);

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像