POST调用不适用于webapi

时间:2018-05-27 04:21:48

标签: javascript jquery asp.net-web-api2

我正在尝试在webapi中发布数据以进行某些操作。我的web api包含多个POST方法。当我使用postman发布数据时它会触及控制器方法,但数据会传递为null。当我从Web应用程序中点击相同的方法时它不起作用并显示404错误,

POST电话:

{
  "presets": ["env", "react"]
}

控制器方法:

                        var urlstring = "/api/Membership/BulkUpload"
                        $.post(
                        urlstring,
                          JSON.stringify(exceljson)).

                        success(function(data)
                        {
                        console.log(data);
                        }
                        );

当我删除[FromBody]时,它也没有从邮递员那里击中。我没有在通话后出现问题

2 个答案:

答案 0 :(得分:0)

请尝试以下代码

 var urlstring = "/api/Membership/BulkUpload"
    $.post(
    urlstring,
    {JSON.stringify(exceljson))})

    .done(function(data)
    {
      console.log(data);
    }
 );

答案 1 :(得分:0)

您可以尝试以下方法之一:

1 - 没有[来自正文]

客户端

var urlstring = `/api/Membership/BulkUpload?studentDetails=${value}`
                        $.post(
                        urlstring,
                          {}).

                        success(function(data)
                        {
                        console.log(data);
                        }
                        );


[HttpRoute("api/Membership/BulkUpload")]
    public HttpResponseMessage BulkUpload(string studentDetails)
    {
        Some Code Here
    }

2 - MAP到C#对象

客户端

var urlstring = '/api/Membership/BulkUpload'
                        $.post(
                        urlstring,
                          {
                             studentDetails : value 
                          }).
                        success(function(data)
                        {
                        console.log(data);
                        }
                        );

服务器端

[HttpRoute("api/Membership/BulkUpload")]
    public HttpResponseMessage BulkUpload([FromBody]studentApiModel dataIn)
    {
        Some Code Here
    }

 public class studentApiModel 
 {
        public string studentDetails { get; set; }
 }