Lỗi không DELETE hay PUT được trên API server

Khi POST thì OK nhưng còn PUT hay DELETE với Angular lên API thì hay bị lỗi 405 hoặc Cross Origin.

Môi trường

ASP.NET và ASP.NET Core

Giải pháp

Nguyên nhân là do module WebDAV trên IIS nó chặn các hành động này và chỉ cho phép GET và POST của HTTP nên chúng ta phải sửa web.config để remove nó đi.


<modules>
  <remove name="WebDAVModule"/>
</modules>
<handlers>
  <remove name="WebDAV" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.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>

Từ Khóa

ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8

Không có nhận xét nào:

Đăng nhận xét