版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/caishu1995/article/details/82978385
Get
get请求一般用于请求数据。
如果前后端使用get方法传输参数,
$.ajax({
type: "get",
url: url,
data: { name: "AA", phone: "BB"},
success: function (data, status) { }
});
[HttpGet]
public void GetAllChargingData(string name, string phone){}
先开始我想直接让后台接收一个对象。可是总是为null,为什么呢?终于找到了,原来是get请求,默认将参数放在url里。【post不会,post不会,post不会,以前好使的时候用的一定是post!!!get请求的数据会附在URL之后,而post请求则是放在http协议包的包体中。】
get请求传递的参数大小是有限制的,最大1024字节
Post
post请求一般用于发送数据。
要说get那我跑步摔跤了,在post这我只能在跟着人家的教程爬了,还是只能无脑的跟着爬。
$.ajax({
type: "post",
url: url,
data: { "": "Jim" },
success: function (data, status) {}
});
[HttpPost]
public void SaveData([FromBody] string NAME){ }
PS:编代码的人你出来,{ "": "Jim" }这是个什么鬼,而且只有这种方式ok
那如果要是传对象怎么办
$.ajax({
type: "post",
url: url,
data: JSON.stringify({ "name": "123", "phone": "234" }),
contentType: 'application/json',
dataType: "text",
success: function (result) {}
});
[HttpPost]
//这时候参数直接写类就好了,由于是类,默认就是从body中取,所以不用写[FromBody]
public void Post(FormD name){ }
//dynamic 这个类型也行。使用的时候直接.就好了,这样可以避免为此还要创造一个类
public void Post(dynamic name){ }
如果指定了contentType为application/json,则必须要传递序列化过的对象;如果使用post请求的默认参数类型,则前端直接传递json类型的对象即可。
Put
put请求一般用于更新数据。其他同post
Delete
delete请求一般用于删除数据。其他同post