Web API POST数据到服务端的方法

 HTML表单或者使用GET或POST发送数据到服务器。表单method属性给出了HTTP方法定义:

<form action="api/values"method="post">

默认的方法是GET。如果表单使用GET,表单数据被编码在URI作为查询字符串。如果表单使用POST,表单数据放置在请求主体。



1. 复杂类型

通常情况下,如果使用POST发送数据到 ApiController时,在ApiController中接受参数为对象,比如

public HttpResponseMessage PostSysLog(SysLog syslog)

那么在客户端有一个表单form,客户端发生数据用ajax方式就是:

Web API POST数据到服务端的方法
   $("#form1").submit(function () {
        var jqxhr = $.post(api/SysLog, $(#form1).serialize())
            .success(function () {
                var loc = jqxhr.getResponseHeader(Location);
                var a = $(<a/>, { href: loc, text: loc });
                $(#message).html(a);
            })
            .error(function () {
                $(#message).html("Error posting the update.");
            });
        return false;
    });
Web API POST数据到服务端的方法

2. 简单类型

如果仅仅想发送一个简单类型的数据(在服务端没有对象),比如大字符串,怎么做呢?


public string Post([FromBody]string value)
{
  return value;
}

在客户端调用方法:

$.post("api/values/", {"" : "20"}, function (data) {
  alert(data);
});

也可以发送一个数组

public string Post([FromBody]string[] value)
{
     return value[0];
}

在客户端调用方法:

$.post("api/values/", {"" : ["10","20","30"]}, function (data) {
  alert(data);
});

在有些情况下很有用,比如批量上传数据的时候,可以一次发送,在服务端解析数据。

也可以使用一下方法:

服务端

Web API POST数据到服务端的方法
// POST api/values
public void Post(List<string> val)//(Person obj )
{
    try
    {
        Person obj = new Person();
        obj.Name = val[0];
        obj.Address = val[1];
        obj.DOB = Convert.ToDateTime(val[2]);
        db.Persons.Add(obj);
        db.SaveChanges();
    }
    catch (Exception) { }
}
Web API POST数据到服务端的方法

客户端:

Web API POST数据到服务端的方法
$(document).ready(function () {
    $("#submit").click(function () {
        var name = $("#Name").val();
        var address = $("#Address").val();
        var dob = $("#DOB").val();
        $.ajax({
            url: "http://localhost:49493/api/Values",
            type: "Post",
            data: JSON.stringify([name, address, dob]), //{ Name: name, 
                                              // Address: address, DOB: dob },
            contentType: application/json; charset=utf-8,
            success: function (data) { },
            error: function () { alert(error); }
        });
    });
});     
Web API POST数据到服务端的方法

Web API POST数据到服务端的方法,布布扣,bubuko.com

Web API POST数据到服务端的方法

上一篇:3Ds Max打造可爱的Marvin机器人公仔造型


下一篇:PS合成制作夜幕下的恐怖城堡