在WebAPI对外提供的,大概有4种接口,get,post,delete,put,现在,我就简单的来说一下js请求webApi的方式和大概的作用;
get:在webApi中,get方法通常是用来获取数据的,前端请求的方法通常是$.get(url,function(d){})的方式,传递的参数包含在url中;如 url+ "?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代码如下:
$.ajax({ type:"put", 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请求的基本操作就在这儿了,如果有什么不对或者不好的地方,希望能够指出,谢谢;