Codinger跨源Ajax调用未获取会话信息


Codigniter Cross-Origin Ajax Calls Not Picking Up Session Information

我在本地主机上安装了CI 3,用于开发,主机文件中有一个示例域,httpconf中有通配符ServerAlias。url加载完美,登录代码运行良好,保存会话,我可以导航登录的系统

一旦我向测试域的子域发送ajax请求,CI中的会话似乎就丢失了,因此它无法验证用户是否登录。

假设我的主机文件中的域是:

127.0.0.1 testdomain.com
127.0.0.1 test1.testdomain.com
127.0.0.1 test2.testdomain.com

CodeIgniter配置为cookie_domain=".testdomain.com".

我可以登录到系统http://testdomain.com:81但一旦我通过$.post(jQuery)向http://test1.testdomain.com或test2。它以我的验证登录代码作为响应,表示会话为空。

我有

header('Access-Control-Allow-Origin: *'); 

在ajax正在调用的控制器的顶部。

有什么想法吗?

如果遇到跨源请求问题,应该使用$.json()而不是$.post()。