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

js对WebApi请求的基本操作的更多相关文章

  1. 用SignalR实现实时查看WebAPI请求日志

    实现的原理比较直接,定义一个MessageHandler记录WebAPI的请求记录,然后将这些请求日志推送到客户端,客户端就是一个查看日志的页面,实时将请求日志展示在页面中. 这个例子的目的是演示如何 ...

  2. Node.js GET/POST请求

    在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交. 表单提交到服务器一般都使用GET/POST请求. 我将为大家介绍 Node.js GET/POST请求. 获取GET请求内容 由于G ...

  3. node.js 发送http 请求

    自己研究了一下 node.js 的 http模块  下面为想服务器发送请求的代码 ,通过学习了解http 请求的过程 ,node.js 对http请求的原始封装比较低,以前php 可以用$_GET , ...

  4. body-parser Node.js(Express) HTTP请求体解析中间件

    body-parser Node.js(Express) HTTP请求体解析中间件 2016年06月08日     781     声明 在HTTP请求中,POST.PUT和PATCH三种请求方法中包 ...

  5. 过滤器会拦截 前端页面加载 js文件的请求

    学艺不精啊.....之前就总结过博客: JAVA中解决Filter过滤掉css,js,图片文件等问题 结果现在又犯了老错误~ 情况如下: index.jsp 页面的验证码输入栏绑定了异步验证(jQur ...

  6. 【转】js生成接口请求参数签名加密

    js生成接口请求参数签名加密 签名算法规则: 第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=v ...

  7. [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参

    [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...

  8. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  9. js跨域请求数据的3种常用的方法

    由于js同源策略的影响,当在某一域名下请求其他域名,或者同一域名,不同端口下的url时,就会变成不被允许的跨域请求.那这个时候通常怎么解决呢,对此菜鸟光头我稍作了整理:1.JavaScript   在 ...

随机推荐

  1. Jenkins结合.net平台工具之Nuget

    我们刚刚通过msbuild在Jenkins环境下把一个控制台项目生成exe可执行文件,如果我们引用了nuget包,也能够正常生成,但是我们知道,我们在把项目提交到git或者svn上的时候并不包含这些包 ...

  2. Docker容器Tomcat部署war包

    在docker容器中使用tomcat部署war包主要包括四个步骤,创建tomcat容器.上传war包到容器.重启容器.访问应用. 1.创建tomcat容器 使用docker run  -d --nam ...

  3. Linux下尝鲜IDE Rider .NET又一开发利器

    RiderRS 扯淡:很多人说:jetbrains出品,必属精品,jetbrains确实出了不少好东西,但是他的产品总感觉越用越慢,我的小Y430P高配版也倍感压力,内存占用率高. Multiple ...

  4. laravel5.5 Syntax error or access violation: 1071 Specified key was too long

    在laravel5.5执行数据迁移时 php artisan migrate 先说下系统环境: ubutun Ubuntu 16.04.3 LTS mysql:5.6.35-log 经查自Larave ...

  5. Java学习笔记之——单例模式

      (1)懒汉式:对象在方法中,第一次调用时创建对象,线程不安全的 public class Singleton { //外部不可以创建对象,就要在内部创建一个对象,还能够在外部获取 private ...

  6. vmware启动黑屏(本来是好的)

    在cmd下运行 netsh winsock reset 重启真实系统

  7. crontab清理日志

    1.日志介绍 2.日志清理  (以下达到清理效果) du -sh * //查看日志大小 * 1 * * * cat /dev/null > /var/log/message 解释/dev/nul ...

  8. Your local changes to the following files would be overwritten by merge:

    在服务器改动之后,用sourcetree提交会产生冲突,解决办法:

  9. es6 语法 (Promise)

    { // 基本定义 let ajax = function(callback) { console.log('执行'); //先输出 1 执行 setTimeout(function() { call ...

  10. JS的函数节流(throttle)

    什么是函数节流? 介绍前,先说下背景.在前端开发中,有时会为页面绑定resize事件,或者为一个页面元素绑定拖拽事件(其核心就是绑定mousemove),这种事件有一个特点,就是用户不必特地捣乱,他在 ...