ajax请求iis上的webapi失败

问题描述

本地项目ajax请求get post put delete 都正常,部署在iis之后,get post正常,put delete失败,报405(Method not Allowed)

相关代码

    function del(id) {
        $.ajax({
            url: "api/Products/" + id,
            type: "Delete",
            dataType: "json",
            success: function (data) {
                location.reload();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest + "," + textStatus + "," + errorThrown);
            }
        });
    }
    
    [HttpDelete]
    [ResponseType(typeof(Product))]
    public IHttpActionResult DeleteProduct(int id)
    {
        Product product = db.Product.Find(id);
        if (product == null)
        {
            return NotFound();
        }

        db.Product.Remove(product);
        db.SaveChanges();

        return Ok(product);
    }
    

报错详情:图片描述

阅读 2.5k
1 个回答

问题已解决。
配置文件移除WebDAV协议

<system.webServer>
    <modules>
      <remove name=“WebDAVModule”/>
    </modules>
    <handlers>
      <remove name=“WebDAV”/>
    </handlers>
</system.webServer>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏