2016-04-06 3 views
0

Ich habe ein Stück von Angular JS, die eine JSON-Datei in meinem Google Drive liest:Anfrage-Header-Feld Accept-Encoding ist nicht erlaubt bei der Verwendung von Google Drive und AngularJS

yummy.controller("slideCtrl", ['$scope', function($scope) { 
}]).directive('slideElement', ['$interval', '$http',($interval, $http) { 
return { 
    restrict: 'E', 
    link: function(scope, element, attrs) { 
     var path = 'https://googledrive.com/host/0B-74lO-UfPKoaDRySEsyQkZwNjQ/'; 
     element.html('<div class="loading"><img src="img/loading.gif"></div>'); 
     $http({ 
      method: 'GET', 
      url: path + 'reduced.json' 
     }).then(function(response) { 
      console.log(response.data); 
     }); 
}]); 

In Chrome und Firefox sowie IE, der Code läuft ohne Fehler. Aber in Safari, erhalte ich folgende Fehlermeldung:

Failed to load resource: Request header field Accept-Encoding is not allowed by Access-Control-Allow-Headers. 

ich versucht habe, und fügte hinzu:

{ headers: { 'Accept-Encoding': undefined }} 

Aber das ist mein Problem nicht lösen.

Wie kann ich meinen Code in Safari arbeiten lassen? Vielen Dank.

Antwort

1

Ich hatte ähnliches Problem, aber es war wegen einer falschen Einstellung auf dem Server.

versuchen, den folgenden Code:

.directive('slideElement', function($http) { 
     return { 
      restrict: 'E', 
      link: function (scope, element, attrs) { 
       var path = 'https://googledrive.com/host/0B-74lO-UfPKoaDRySEsyQkZwNjQ/'; 
       element.html('<div>loading</div>'); 
       $http({ 
        method: 'GET', 
        url: path + 'reduced.json', 
        headers : { 
        'Content-Type' : 'application/json; charset=UTF-8' 
        } 
       }).then(function (response) { 
        console.log(response.data); 
       }, function(err){console.log("err")}); 
      } 
     } 
    }) 

wo Header-Parameter mit Content-Type ist neu.

Ich hoffe es hilft

+0

Vielen Dank für Ihre Antwort. Aber mein Code läuft gut in Chrome und FF. Nur in Safari tritt mein Code auf. Also ich glaube es ist das Javascript Problem, nicht das Problem im Server. Außerdem kann ich die Einstellung in Google Drive nicht ändern. –

+0

Abhängig von der Antwort des Servers kann es sich auf bestimmte Browser auswirken (einige sind flexibler als andere). Hast du es mit Content-Type-Parametern versucht? – thegio

+0

Tut mir leid, funktioniert nicht. Vielen Dank. –

Verwandte Themen