1

リリースの準備が整ったアプリケーションを構築していますが、ajax 呼び出し内でクロス ドメイン スクリプティングの問題に直面しました。

IIS7.5 を使用しており、次のアプリケーションをセットアップしています。

マーケティング アプリケーション - 'www.mydomain.com' - マーケティング Web サイトとして、また新しいビジネスの登録に使用されます。www

ビジネス アプリケーション - 「https://newbusiness.mydomain.com」 - 購読しているサービスにアクセスするために使用されます

API アプリケーション - 'https://newbusiness.mydomain.com/api/.......' - ビジネス アプリケーションが crud 操作を行うために使用されます。

API アプリケーションは、業務アプリケーションの下で動作するアプリケーションです。多数のセキュアなメソッドといくつかの匿名メソッドが含まれています。

jquery を使用すると、マーケティング アプリケーションから API アプリケーションを呼び出そうとすると問題が発生します。現在、自分のマーケティング サイトから API を呼び出したい場合、「https://api.mydomain.com/api/whatevermethod」のようなことをしていますが、これはクロス ドメインであるため失敗します。

とにかく、「https://api.mydomain.com/api/whatevermethod」を単に「https://mydomain.com/api/whatevermethod」にマップできる方法はありますか?これにより、クロスドメインの問題を回避できます。

4

2 に答える 2

2

IISでクロスドメイン呼び出しを許可する必要があります。Access-Control-Allow-Originとを設定することでこれを行うことができますAccess-Control-Allow-Headers

元:

ルートweb.configで

<system.webserver>       
   <httpprotocol>
     <customheaders>
       <add name="access-control-allow-origin" value="*" />  
       <add name="access-control-allow-headers" value="content-type" />
     </customheaders>
    </httpprotocol>
 </system.webserver>

ここから取った

于 2012-11-15T13:50:51.257 に答える
0

Amila の回答からエラー 500 が発生した場合に備えて、web.config ファイルの内容全体は次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="access-control-allow-origin" value="*" />
                <add name="access-control-allow-headers" value="content-type" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>
于 2018-07-22T01:37:49.223 に答える