【发布时间】:2014-10-26 06:59:33
【问题描述】:
我有一个使用 Kohana ORM Auth 的网站。我有一个 url,当通过 ajax 调用时,它将检查用户是否登录并返回与用户角色对应的 json_encoded 数据。当我在普通浏览器窗口中尝试时,此 url 工作正常。它返回了正确的值,但是当通过 AJAX 调用尝试 Auth::instance()->logged_in() 时,即使我确定用户已登录,它也会返回 FALSE。 我正在按照以下链接中的说明进行操作 jQuery getJSON doesnt send cookies 但它并没有解决问题。
到目前为止,我所做的是,我在基本控制器以及写入请求操作的文件中添加了以下几行
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) {
...
}
});
【问题讨论】:
-
尝试将
http://www.domain.com/web/joblist替换为/web/joblist -
目标 URL 域相同还是不同??
-
目标网址相同。
标签: javascript jquery ajax kohana-3.3 kohana-auth