我有一个使用 Kohana ORM Auth 的网站。我有一个 url,当通过 ajax 调用时,它将检查用户是否登录并返回与用户 Angular 色相对应的 json_encoded 数据。当我在普通浏览器窗口中尝试时,该网址工作正常。它返回正确的值,但是当通过 AJAX 调用尝试时,Auth::instance()->logged_in() 返回 FALSE,即使我确信用户已登录。 我按照以下链接中列出的说明进行操作 jQuery getJSON doesnt send cookies 但它并没有解决问题。
到目前为止我所做的是,我在基本 Controller 以及写入请求操作的文件中添加了以下几行
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) {
...
}
});
最佳答案
使用数据类型:jsonp。
希望这能解决您的问题。
关于javascript - Kohana/JQuery Auth 访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25616150/