js对WebApi请求的基本操作

  在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请求的基本操作就在这儿了,如果有什么不对或者不好的地方,希望能够指出,谢谢;

  

 

posted @ 2017-02-15 23:06  小小七爷  阅读(11922)  评论(0编辑  收藏  举报