2017-09-01 22 views
-3

ローカルJSONファイルにアクセスしようとするとエラーが発生します。これはjsonからデータを取得する機能です。JSONローカルファイルにアクセスするとCorsエラーが発生する

 $scope.getJSON = function() { 
     (self.servicioObj = jsonFactory.GetJson('data.json')).then(
       function (dataResponse) { 
        $scope.datosJson = []; 
        $scope.datosJson = dataResponse.data; 
        self.servicioObj.detenerTiempo(); 
       }, function (error) { 
      self.servicioObj.detenerTiempo(); 
     }); 
    } 

これは私の工場コードです。

function jsonFactory($http, $q) { 

    var self = this; 

    self.urlBase = 'http://192.168.0.17:8383/NewFrontEnd/app/pages/'; 
    self.jsonFactory = {}; 
    self.tiempoEspera = 120000; 
    self.jsonFactory.GetJson = function (metodo) { 
     var tiempo = $q.defer(); 
     var url = self.urlBase + metodo; 
     var peticion = $http({ 
      method: 'get', 
      url: url, 
      headers: {'Access-Control-Allow-Origin': '*'}, 
      cache: false, 
      timeout: tiempo.promise 
     }); 
     return self.jsonFactory; 
     } 

私がgetJSON関数を呼び出すと、このエラーメッセージが表示されます。

XMLHttpRequest cannot load http://192.168.0.17:8383/NewFrontEnd/app/pages/data.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8383' is therefore not allowed access. 

私はいけない私が取得していますなぜ私はurlBaseに入れlocalhostの代わりに192.168.0.17の私は何の問題

+1

あなたの質問は何ですか? –

+0

私はなぜこのエラーが発生するのかわかりません。私は192.168.0.17の代わりにurlBase localhostを入れます。私は問題なしでJSONファイルにアクセスできます。 –

+0

そのリクエストは、リソースとは異なる起源からのリクエストを保護するブラウザと関係がある –

答えて

2

せずにJSONファイルにアクセスできる場合、私はこのエラーを取得していますなぜ知っています私はurlBase localhostの代わりに192.168.0.17

に入れた場合、このエラーはlocalhost192.168.0.17は異なるホスト名なのでので、彼らは異なる起源です。

HTMLドキュメントを1つにロードし、XHRを使用して別のドキュメントをリクエストすると、クロスソースリクエストが行われます。

オリジンを混在させたり、適切なAccess-Control-Allow-Originヘッダーを出力するようにサーバーを構成したりしないでください。

+0

私は192.168.0.17の代わりにlocalhostを置く必要がありますか?他のユーザーが私のipに接続し、jsonファイルにアクセスする必要があるので、私はする必要があります –

+0

あなたは3つのオプションがあります。どこでも 'localhost'を使うか、どこでも' 192.168.0.17'を使うか、あなたのサーバでCORSをセットアップしてください。あなたはオプション1を却下しました。他の2つのいずれかを使用してください。 – Quentin

+0

しかし、JSONがサーバー側にない私のプロジェクトのローカルjsonファイルにはこれに対する解決策がありますか? –

関連する問題