1

Cross-Origin Request Blockedの多くの投稿を見て読んでいますが、どれも私にとっては意味がありません。Amazon Pay - クロスオリジン要求がブロックされました

私はAmazon PayをSitecore/MVCサイトに統合しており、すべてうまくいきました。しかし、私はボタンをレンダリングしているページで、私はエラーを見始めた。私は、Firefoxのクロムのいずれかでの開発ツールを開き、ページをロードした場合、私は、これは赤です参照してください。

https://payments-uk-sandbox.amazon.com/merchantAc...tus?countryOfEstablishment=UK&ledgerCurrency=GBP 200 OK 66msのWidgets.js(ライン43)が続く

をGET :ブロックされた

クロスオリジン・リクエスト:同一生成元ポリシーは https://payments-uk-sandbox.amazon.com/merchantAccount/AAAJJFJJJFJJF/accountStatus?countryOfEstablishment=UK&ledgerCurrency=GBPで リモートリソースを読ん禁止します。 (理由:CORSヘッダー 'Access-Control-Allow-Origin'がありません)。

私が読んでいることと、それを理解している方法から、問題はAmazon側にあります。私は昨日このエラーが発生していないので、私のページのコードを変更していないので、それは意味をなさないでしょう。

私はこの権利があるかどうか誰かに教えてもらえますか?何か私にできることはありますか?私はアマゾンでインテグレーションの連絡先を持っていますが、私は最後の質問に答えるのに6日かかりましたので、いつでも私の息を止めていません。

答えて

1

これはバックエンドから呼び出し、必要に応じてフロントエンドで表示する必要があります。 Amazonがセキュリティ上の問題のために別のサイトのフロントエンドでこの方法を使用することを許可していないため、CORSが現れました。

いただきまし実行する必要があります。 あなたはアマゾンにウェブrequrestを作成し、ウェブサイトの方法で作成して、いくつかの情報を返す必要がある、とあなたが

ここ

例のjsからこのメソッドを呼び出す必要があります:

メソッドを作成しますコントローラのボタン上のJSからより

public class HomeController : Controller 
{ 

    public ActionResult GetAccountStatus() 
    { 
     var client = new WebClient(); 
     client.Encoding = Encoding.UTF8; 

     var response = client.DownloadString("https://payments-uk-sandbox.amazon.com/merchantAccount/AAAJJFJJJFJJF/accountStatus?countryOfEstablishment=UK&ledgerCurrency=GBP"); 

     return response; 
    } 
} 

にあなたのサイトに

を要求の作成]をクリックします10
+0

これをもう少し詳しく説明してください。 – Fred

+0

詳細情報が必要ですか? – itikhomi

+0

私が使用しているコードは、Amazonの統合チームから直接送られ、昨日まで問題なく動作していました。 – Fred

関連する問題