我有一个使用 Kohana ORM Auth 的网站。我有一个 url,当通过 ajax 调用时将检查用户是否登录并返回与用户角色对应的 json_encoded 数据。当我在普通浏览器窗口中尝试时,此 url 工作正常。它返回了正确的值,但是当通过 AJAX 调用尝试 Auth::instance()->logged_in() 时,即使我确定用户已登录,它也会返回 FALSE。我正在按照以下链接 jQuery中列出的说明进行操作getJSON 不发送 cookie ,但它没有解决问题。
到目前为止我所做的是,我在基本控制器以及写入请求操作的文件中添加了以下几行
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Credentials: TRUE');
在发送实际请求之前的ajax中编写了以下代码
beforeSend: function(xhr){
xhr.withCredentials = true;
},
编辑 - - - - - - -
我尝试使用以下内容,但它给了我一个 COR 问题。
$.ajax({
type: 'GET',
url: "http://www.domain.com/web/joblist",
xhrFields: {
withCredentials: true
},
dataType: "json",
data:{
"tab":currentTab,
"page":currentPage,
"filter":filterStr
},
success: function(json){ ...
},
error: function(e) {
...
}
});