背景

根据HTTP标准,HTTP请求可以使用多种请求方法。

HTTP 1.0 定义了三种请求方法:GET、POST 和 HEAD 方法。
HTTP 1.1 新增了五种请求方法:OPTIONS、PUT、DELETE、TRACE 和 CONNECT 方法。

1) GET:请求指定的页面信息,并返回实体主体。
2) HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3) POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
4) PUT:从客户端向服务器传送的数据取代指定的文档的内容。
5) DELETE:请求服务器删除指定的页面。
6) CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
7) OPTIONS:允许客户端查看服务器的性能。
8) TRACE:回显服务器收到的请求,主要用于测试或诊断。

Web Client

$(function(){$('#demoForm').on('submit', function (e) {e.preventDefault();
        //var _formData = new FormData($('#demoForm')[0]);//_formData.append("dt", "2018-04-13");//_formData.append('image', $('#Image')[0].files[0]);        $.ajax({cache: false,url: 'http://localhost:10841/api/values',
            type: 'PUT',data: new FormData(this),processData: false,contentType: false}).done(function(res) {console.log('success,' + res);}).fail(function(res) {console.log('fail,' + res);});});
});

WebAPI

public void Put()
{// Verify that this is an HTML Form file upload requestif (!Request.Content.IsMimeMultipartContent()){throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType));}var _firstname = HttpContext.Current.Request.Form["FirstName"];var _lastname = HttpContext.Current.Request.Params["LastName"];var _images = HttpContext.Current.Request.Files;
}

参考资料

http://www.runoob.com/http/http-methods.html
https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/sending-html-form-data-part-2
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

转载于:https://www.cnblogs.com/jinzesudawei/p/8818419.html

[WebAPI] - 使用 Ajax 提交 HTML Form Data 到 WebAPI 的方法相关推荐

  1. ajax提交整个form表单

    在项目开发中,有时提交form表单时不能单单用action或者jquery的 表单提交方法有三种,主要说下第三种 第一种:用form自带属性action提交 第二种:用jquery提交:$(" ...

  2. ajax提交,form表单提交,onsubmit=return checksubmit()提交验证

    Ajax提交的两种方式: 一是url参数提交数据, 二是form提交(和平常一样在后台可以获取到Form表单的值).在所要提交的表单中,如果元素很多的话建议用第二种方式进行提交 一.Url参数提交数据 ...

  3. ajax提交数据给谁,jquery ajax提交数据给后端

    大家好,今天铁柱兄给大家带一段jquery ajax提交数据给后端的教学. 初学javaweb的同学前端提交数据基本上都是用form表单提交,这玩意儿反正我是觉得不太好玩.而JavaScript aj ...

  4. 表单提交_django 的ajax提交与表单提交记录

    好记性不如烂笔头: 据说的ajax提交比表单提交要好,可以不用重新刷新页面: 表单提交:MTV模式 # 局部禁用csrf保护 @csrf_exempt def login(request):if re ...

  5. 表单ajax提交插件,详解javascript表单的Ajax提交插件的使用

    Ajax 提交插件 form.js 插件有两个核心方法:ajaxForm()和ajaxSubmit(),它们集合了从控制表单元素到决定如何管理提交进行的功能. //ajaxForm 提交方式 $('# ...

  6. ajax 提交list

    一.简单的ajax提交 $(function () {$('form').validate({rules: {cnName: {required: true,maxlength: 80}},messa ...

  7. 表单和ajax中的post请求后台获取数据方法(深度好文)

    最近要做后台数据接收,因为前台传来的数据太过于混乱,所以总结了一下前台数据post请求方法,顺便写了下相对应的后台接收方法. 前台主要的contenttype为下面三种:(需要注意的是请求头中data ...

  8. ajax提交无反应,IE中jquery.form中ajax提交没反应解决方法分享

    花了三个钟头,反复查,发现,原来是改了处理页面的返回头信息. 加上了 application/x-javascript ,ie8就不干活了. 如果是text/html,就行,或者不指定也行. 算bug ...

  9. ajax提交Form

    2019独角兽企业重金招聘Python工程师标准>>> 如Form代码如下: <form id="Form1" action="action.as ...

  10. html form通过ajax提交表单提交数据,Jquery通过Ajax方式来提交Form表单的具体实现

    今天刚好看到Jquery的ajax提交数据到服务器的方法,原文是: 保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: ...

最新文章

  1. SQL 2005 Oct CTP 和VS2005 for CTP安装的情况
  2. java 数组怎么求和_java数组排序,并将数组内的数据求和
  3. 一文读懂RPA与BPM的区别和联系
  4. Redhat Enterprise Linux 5 实战系列(六)为RHEL5开启samba
  5. mysql锁表查询_Mysql upate 更新锁表还是锁行测试
  6. java如何使用md5加密_Java中MD5加密
  7. 云服务器远程连接的设置方法、安全组设置(外网可访问)
  8. 网站类项目商业计划书(转)
  9. mysql查询当前月份前两个月的数据_sql查询指定月份之前的几个月
  10. 翠竹林 Opencv+C++之人脸识别
  11. Caffe中求解器(Solver)介绍
  12. 微信公众号 java 教程视频下载_微信公众号开发视频教程java
  13. 怎样写好Git的commit信息
  14. MOOS-ivp简介
  15. unity黑白滤镜_unity3D 把图片变黑白的Shader
  16. 保留扇区读写java,FAT32文件操作系统
  17. 【亚马逊运营】什么情况下使用Coupon卖家们知多少?
  18. ip-san 服务器 虚拟化,IP-SAN与IB-SAN网络存储的异同点分析
  19. layiim php图片上传,孤狼采集器利用PHP上传图片方式说明
  20. nkoj P3138 罗马游戏

热门文章

  1. 刷抖音看美腿中毒后,我决定做一款抖音App
  2. 微博每日数十亿级业务下的计数器如何扩展Redis?
  3. LVS负载均衡的几种模式和算法
  4. 10 分钟让你明白 MySQL 是如何利用索引的
  5. 搜狐Linux运维工程师面试真题曝光
  6. 到底工资要多少合适?
  7. jQuery解决ajax请求的跨域问题
  8. iReport 中使用 Chart 图
  9. Linux下mysql主从同步备份master-slave详细配置
  10. 二、Cocos2dx概念介绍(游戏开发中不同的坐标系,cocos2dx锚点)