【发布时间】:2014-11-29 14:59:58
【问题描述】:
我被这个问题困扰了一周; 我连接到我的服务器 API 并检索 cookie。
然后我执行 GET 以检索返回良好的 JSON Cookie 会话,但我遇到了 Cross Origin 问题。
API 这边没问题,因为我得到了很好的状态 200。
回应:
================================================ ===============
响应: 访问控制允许信用... true Access-Control-Allow-Head... Accept,Origin,Content-Type,X-Requested-With 访问控制允许方法...获取、发布、放置、删除 访问控制允许原始... * Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 连接保活 内容类型应用程序/json 日期 2014 年 8 月 6 日星期三 18:50:20 GMT 到期时间 1981 年 11 月 19 日星期四 08:52:00 GMT 保活超时=15,最大值=100 杂注无缓存 服务器阿帕奇 传输编码分块 X-Powered-By PHP/5.3.3
请求: 接受 application/json, text/plain, / 接受编码 gzip,放气 接受语言 fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3 Cookie 令牌=97e437a8db5bf96d01e980a3dd81c30cb4bcbf19; PHPSESSID=kjpqve8tbebhh8u2p6nlu2jki5 托管 myapi.com 源本地主机 引用本地主机 用户代理 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0
这是我的要求:
function loadFeed() {
$scope.show
/* console.log($scope.userid);*/
$http.get('http://myapi.com/', {withCredentials: true})
.success(function (data) {
$scope.hide();
$scope.items = data.data;
/* console.log($scope.data); */
})
.error(function(result) {
alert("feed ne marche pas");
});
}
我在 myapp 配置中试试这个:
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common['Content-Type'] = 'application/json; charset=utf-8';
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}])
.config(['$sceDelegateProvider', function($sceDelegateProvider) {
$sceDelegateProvider.resourceUrlWhitelist(['self', 'http://myapi.com/**', 'http://www.myapi.com/**']);
}])
我不明白问题出在哪里?
【问题讨论】:
-
你用的是什么版本的角度?
-
我用的是2.0.1版本
-
您能重新检查一下吗?当前的 Angular 版本是 1.2.21,测试版是 1.3.x
-
对不起,现在是 1.2.12
标签: javascript json angularjs cordova cookies