JS調用.net webapi提示405 (Method Not Allowed)?

最近筆者在一次項目中,去post後臺(api在iis另一個程序上)會提示405 (Method Not Allowed)和Response for preflight has invalid HTTP status code 405

用swagger去直接調用發現沒有任何問題,當時想到會不會是跨域問題,看了下webconfig發現有這麼一個配置

    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <remove name="OPTIONSVerbHandler" />
      <remove name="TRACEVerbHandler" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers> 

把這段註釋掉,再改一下httpProtocol這裏的配置

    <httpProtocol>
      <customHeaders>
        <!-- Enable Cross Domain AJAX calls -->
        <add name="Access-Control-Allow-Origin" value="*" />
        <add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS"/>
        <add name="Access-Control-Allow-Headers" value="Content-Type"/>
      </customHeaders>
    </httpProtocol> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章