httpput请求在webapi中不起作用

时间:2015-03-11 14:05:45

标签: asp.net-web-api

尝试过的事情:

  1. 评论了有关webdav的内容
  2. 编辑了iis配置文件,即添加了PUT,DELETE谓词
  3. jQuery .support.cors = true;
  4. 错误: 405:不允许使用方法(在chrome调试器中) 响应是ajax错误。

    ajax呼叫代码:

    jQuery.support.cors = true;
    function CheckLogin() {
      var user = { "UserName": $('#UserName').val(), "Password": $('#Passsword').val() };
      user = JSON.stringify(user);
      $.ajax({
        url: 'http://localhost/MvcRazorClient/api/HomeApi/SignIn',
        //here i changed the webapi route to api/controller/action 
        type: "PUT",
        data: user,
        async: false,
        crossDomain: true,
        contentType: "application/json",
        dataType: 'json',
        success: function (data) {
          if (data == true) {
            alert('true')
          } else {
            alert('false');
          }
        },
        error: function () {
          alert('er');
        }
      });
    }
    

    我的api控制器代码:

    [HttpPut]
    public bool SignIn(User u)
    //here i tried parameters as "dynamic u" and "HttpRequestMessage u". nothing worked
    {
       return true;
    }
    
    请帮忙。

1 个答案:

答案 0 :(得分:0)

我没有在iis中禁用webDAV。 路径:控制面板\所有控制面板项目\程序和功能 - > iis->万维网服务 - >常见Http功能 - >(取消选中)webDAV