2017-05-14 4 views
0

バックエンドにlaravelを使用していて、Instagram APIにjQueryでリクエストを送信しようとしていますが、ChromeブラウザインスペクタPHP Nginxで 'Access-Control-Allow-Origin'エラーが発生しました

test?code=a3679b3…:1 XMLHttpRequest cannot load https://api.instagram.com/oauth/access_token. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://example.com' is therefore not allowed access. 

、これは要求

   $.ajax({ 
       method: 'POST', 
       url: 'https://api.instagram.com/oauth/access_token', 
       data: { 
        client_id: "client_id", 
        client_secret: "client_secret", 
        grant_type: "authorization_code", 
        redirect_uri: "example.com", 
        code: "{{$code}}" 
       } 

      }); 

を送信するために私のコードで私はnginxのdefault.confファイルにAccess-Control-Allow-Originを追加しようとしましたが、私の問題を解決していないことをしました。どうすれば修正できますか?

+0

私はあなたがこのリンクをたどることができると思います。これが助けになるかもしれない。 [http://stackoverflow.com/questions/6114436/access-control-allow-origin-error-sending-a-jquery-post-to-google-apis](http://stackoverflow.com/questions/6114436/) google-apiに投稿するアクセス制御を許可する元のエラーを送信する) –

答えて

0

このエラーメッセージはCORSによるものです。あなたのブラウザでは、あなたのAJAXリクエストは同じ起源でなければなりません。したがって、example.comを使用している場合、Chromeはexample.comへのAJAXリクエストのみをサポートします。他のドメイン(api.instagram.comなど)にAcces-Control-Allow-Originヘッダーがある場合を除きます。あなたはここにこの詳細を読むことができます:

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

あなたのバックエンドからのInstagramをアセスしようとすることができます。このように、AJAXリクエストは同じ起点のバックエンドに送られ、バックエンドはInstagramのAPIに簡単にアクセスできます。

また、あなたはこの答えにあなたがより多くを見つけることができ、dataType: "jsonp"を試すことができます。

instagram jquery ajax type="GET, can't get around CORS

+0

'dataType:" jsonp "が追加されていません。 – Honey

+0

'method: 'GET'を試してみてください。このチュートリアルもチェックしてください:[InstagramからjQueryを使って写真を取得](https://rudrastyh.com/javascript/get-photos-from-instagram.html) –

関連する問題