[英]Get with AngularJS Cross-Origin Request block
我被這個問題困擾了一個星期。 我連接到服務器API並檢索Cookie。
然后,我做一個GET來檢索返回良好的JSON Cookie會話,但是我對Cross Origin有問題。
在API方面也可以,因為我的狀態為200。
響應 :
================================================== ===========
響應:允許訪問控制權...真正的允許訪問控制頭...接受,來源,內容類型,X請求帶有允許訪問權的方法... GET,POST,放置,刪除訪問控制允許源... *緩存控制不存儲,不緩存,必須重新驗證,后檢查= 0,預檢查= 0連接保持活動內容類型application / json日期星期三,2014年8月6日18:50:20 GMT到期,1981年11月19日星期四08:52:00 GMT Keep-Alive超時= 15,最大= 100 Pragma no-cache服務器Apache傳輸編碼分塊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來源localhost引用者localhost用戶代理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中嘗試這個:
.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/**']);
}])
我不明白問題出在哪里?
最后,我在api上更改了標頭:之前:header('Access-Control-Allow-Origin:*'); 現在:header('Access-Control-Allow-Origin:192.168.1.87:8100');
它可以工作,但是我認為當我編譯移動應用程序時它不會工作...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.