1. 程式人生 > >post get put delete

post get put delete

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