获取AngularJS跨源请求块

时间:2014-08-06 19:16:43

标签: javascript json angularjs cordova cookies

这是一个星期我坚持这个问题; 我连接到我的服务器API并检索cookie。

然后我做一个GET来检索JSON返回好的Cookie会话,但是我遇到了Cross Origin的问题。

在API方面没问题,因为我获得了良好的状态200。

回应:

=============================================== ==============

回应: Access-Control-Allow-Cred ...是的 Access-Control-Allow-Head ...接受,Origin,Content-Type,X-Requested-With Access-Control-Allow-Meth ... GET,POST,PUT,DELETE Access-Control-Allow-Orig ...... * Cache-Control no-store,no-cache,must-revalidate,post-check = 0,pre-check = 0 连接保持活跃 Content-Type application / json 日期:星期三,2014年8月6日18:50:20 GMT Expires Thu,1981年11月19日08:52:00 GMT 保持活动超时= 15,最大= 100 Pragma no-cache 服务器Apache Transfer-Encoding chunked X-Powered-By PHP / 5.3.3

要求: 接受application / json,text / plain, / Accept-Encoding gzip,deflate Accept-Language fr,fr-fr; q = 0.8,en-us; q = 0.5,en; q = 0.3 Cookie令牌= 97e437a8db5bf96d01e980a3dd81c30cb4bcbf19; PHPSESSID = kjpqve8tbebhh8u2p6nlu2jki5 主持myapi.com Origin localhost Referer localhost User-Agent 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/**']);

 }])

我不明白问题出在哪里?

1 个答案:

答案 0 :(得分:0)

最后,我改变了我的api标题: 之前:标题('Access-Control-Allow-Origin:*'); 现在:header('Access-Control-Allow-Origin:192.168.1.87:8100');

它有效,但我不认为它会在编译我的移动应用程序时起作用...