2

Windows Azure のクラウド サービスに API をデプロイします。フロントエンド開発者のコ​​ンピューターから API を呼び出せるようにしたいのですが、IE10 と Firefox 21.0 を使用するとエラーが見つかりましたが、Chrome 26.0 と Safari 5.1.7 ではエラーが見つかりませんでした。

IE10の画像エラーを添付しました

http://sdrv.ms/111EPu9

Safariでは正常に動作します

http://sdrv.ms/111EPu9

開発目的で web.config に次のように追加しました。

<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
      <remove name="WebDAVModule" />
  </modules>
  <handlers>
      <remove name="WebDAV"/>
      <remove name="OPTIONSVerbHandler"/>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
  </handlers>
<httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Methods" value="POST, GET, OPTIONS, PUT, DELETE"/>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Headers" value="authenticate, accept, origin, authorization, content-type" />
    </customHeaders>
</httpProtocol>

このエラーに関するアイデアや提案はありますか?

よろしく

4

1 に答える 1

1

仕様によると、OPTIONS への応答が HTTP/200 でない場合は、ロードを中止する必要があります。残念ながら、WebKit (したがって Safari と Chrome) は仕様のその部分を正しく実装していません。

于 2013-05-18T02:13:33.870 に答える