GET没问题 就是POST
        public string Post(string value)
        {
            return "1";
        }        public string Post()
        {
            return "2";
        }很简单的2个方法 当我debug时候 无论view那边怎么发送数据 永远都是调用没有参数的post
以下是我view调用的js
    $(function() {
        $("#submit").bind("click", function (e) {
            var username = $("#username").val();
            var password = $("#passowrd").val();
            $.ajax({
                type: "POST",
                url: "/api/AuthAPI/",
                data:  {value:"xx" },
                success: function(d) {
                    console.info(d);
                }
            });
        });
    })
另外 还想问一下 除了用javascript ajax 还有别的方法调用web api么

解决方案 »

  1.   

    web api的action不支持重载,解决方法换个方法名字
      

  2.   

    url没有附带传值value,自然不会调用有参数的那个了
      

  3.   

    方法很多,也可以作为web service调用。
      

  4.   

    利用模型绑定:class DataViewModel{
    public string value{get;set;}
    }public string Post(DataViewModel data)
    {
    // data.value;
    return data.value;
    }
      

  5.   

     public string Post(string value)
            {
                return "1";
            }
     
            public string Post()
            {
                return "2";
            }加个头
    [HttpPost]
      

  6.   

    js调用外,后端HttpClient一样可以调用撒,如httpClient.PostAsync(url)…
    还有就是对api的方法最好严格加上[HttpGet]或[HttpPost],不要让api自己去找寻,路由配置也严格控制到action和id
      

  7.   

    WEB API详解实例