在WebAPI對外提供的,大概有4種接口,get,post,delete,put,現在,我就簡單的來說一下js請求webApi的方式和大概的作用;
get:在webApi中,get方法通常是用來獲取數據的,前端請求的方法通常是$.get(url,function(d){})(或者 $.ajax(url:url,success:function(d){//....}))的方式,傳遞的參數包含在url中;如 url+ "?id=1"(http://localhost/webapi/get?id=1);有多個值也可以多個傳遞,就不多說了;
post:在一般情況下post是想服務器傳遞數據用的,通過jq的$.post()方法足夠請求到數據,在webApi中一般會加上 Public bool Post ([FromBody] Model model){};在一個controller中只能有一個[FromBody] ,也就是說,post請求中,只能傳遞一個model,但是里面的內容卻沒有限制;而jq的請求方式可以有$.post(url,data,function(){});還有就是$.ajax({type:"post"});pos請求具體的可以看我寫的另外一個隨筆,請點這里;
put:put在webapi中是更新操作用的,可以是public void Put(int id, [FromBody]Model model){};jq向webapi請求put方法的時候,只能是$.ajax()的方式調用;jq代碼如下:
var url= "localhost/webapi/post",
data={name:1};
$.ajax({ type:"put", url:url+"?id=1", data:JSON.stringify(data), contentType: 'application/json', async:true, success:function(){ //..... } });
這樣,復雜類型 model 數據通過json的格式傳遞,是標記一個contentType: 'application/json'傳輸類型為json,而簡單類型 id 則通過 url 地址里面傳遞;這樣更新數據就方便多了;
delete:delete方法一看就知道是用來刪除數據的,請求方式和 get 方法類似了,方法只能以 $.post() 方法請求了,代碼如下:C#代碼 public void Delete(int id){};
$.ajax({ type:"delete", url:"...?id=1", async:true, success:function(){ //.... } });
重點就在請求的類型 type 上,只能是 type:"delete" ,而傳的值放到url上就可以了;
jq 向 webapi請求的基本操作就在這兒了,如果有什么不對或者不好的地方,希望能夠指出,謝謝;