ajax跨域登录,php后端如何处理

前端地址:
http://a1.domain.com/login.html

后端地址:
http://b2.domain.com/login.php

前端登录时往后端发送ajax请求验证,请求返回用户名密码正确,然后跳转到home界面,可是home界面请求后端数据时,由于跨域名的原因后端无法通过cookie获取到登录状态,依旧返回到登录界面。

然后我在后端php登录成功时设置了cookie跨域,可是还不行,代码如下:

//如下两种方式都不行
setcookie("uid", "123", 0, "/", "a1.domain.com", 0);
setcookie("uid", "123", 0, "/", "domain.com", 0);
阅读 3.2k
3 个回答
  1. 首先,domain.com 的方式肯定是可行的。 如果不可行,错误在代码,而不在方式。
  2. 不知到home界面是否在 a1.domain.com 下面。在的话,理论上是不会有问题的。

最后:
处理这种的方式就是打开浏览器。
看一下 js是否真正的保存了cookie。并且 跳转到home页后的请求,是否携带了该cookie。
如果携带了,就去后端找问题~

setcookie("uid", "123", 0, "/", ".domain.com", 0);

域名前面有个.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题