2017-11-20 14 views
-1

URLを渡してjsonデータを取得します。要求されたリソースに 'Access-Control-Allow-Origin'ヘッダーが存在しません。したがって、Origin 'localhost'はアクセスが許可されていません。

 $http.get('https://sample-dec42.firebaseapp.com/one.json').then(function(response) { 
          $scope.resultValue = response.data; 
          console.log('successful'); 
         document.write(JSON.stringify(response)); 
          console.log( $scope.resultValue); 


       }); 

app.js:

var request = require('request'); 
app.use(function(req,response,next) 
{ 
    response.header('Access-Control-Allow-Origin',"*"); 
    response.header('Access-Control-Allow-Methods','GET,PUT,POST,DELETE,OPTIONS'); 
    response.header('Access-Control-Allow-Headers','Content-Type'); 
    next(); 


}) 

しかし、私が次のサーバーとコントローラのコード

コントローラを使用し、このエラーを解決するために

Failed to load https://sample-dec42.firebaseapp.com/one.json: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8082' is therefore not allowed access. 

のようなエラーを示していますここでちょうど、私は1つのサンプル・フィドルを作成しました:Click Here to View

このエラーを解決する方法私はインターネットで検索しました。しかし、まだ私はなぜこのエラーが何度も繰り返されているのか分かりません。 ありがとうございます。

+0

リクエストハンドラのコードを投稿しますか? –

+0

はい、私の投稿を編集しました。 – N15

+0

あなたのapp.jsで返信する実際の部分を意味します。 –

答えて

-1

あなたはこの試みることができます:プロジェクトに

インポート "CORS" モジュールを、あなたはExpressを使用している場合はそれを使用します。

app.use(cors()); 
-1

は、次のコードを使用します::

app.use(function (req, res, next) { 
// Following headers are needed for CORS 
    res.setHeader('access-control-allow-headers', 'Origin, X-Requested-With, Content-Type, Accept, ajax, access-key,backend,app_request,frontend, token,device'); 
    res.setHeader('access-control-allow-methods', 'POST,HEAD,GET,PUT,DELETE,OPTIONS'); 
    res.setHeader('access-control-allow-origin', '*'); 
    next(); 
}); 
+0

res.setHeaderはresponse.headerとは異なります –

+0

私は、応答変数ではなく、ヘッダ関数の代わりにsetHeaderを意味します。 downvotingの前に見てください。 –

+0

申し訳ありませんが、 'header'と' setHeader'を見逃しました –

関連する問題

 関連する問題