背景

根据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 request
if (!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

[WebAPI] - 使用 Ajax 提交 HTML Form Data 到 WebAPI 的方法的更多相关文章

  1. ajax提交整个form表单

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

  2. 表单提交数据格式form data

    前言: 最近遇到的最多的问题就是表单提交数据格式问题了. 常见的三种表单提交数据格式,分别举例说明:(项目是vue的框架) 1.application/x-www-form-urlencoded 提交 ...

  3. Ajax提交数据的data序列化数据提交即可

    jQuery.ajax({ url: "<s:url value="/contractinfo/finanContractInfoMgrAction!saveOrMod.ac ...

  4. ajax提交含有html数据时的处理方法

    这两天在做一个文章内修改的功能,由于前端选用的Extjs控件库,于是就使用Ext.form.HtmlEditor. 在使用ajax提交数据的时候,需要提交包含有html代码的数据.这时候问题就来了,不 ...

  5. axios请求提交的form data格式 明明是JSON格式的参数却转成了字符串格式

    问题:传的参数成为了字符数格式 解决:把参数的格式转换 const params = new URLSearchParams() params.append('USER_LOGIN', 'admin' ...

  6. django使用ajax提交表单数据报403错解决方法

    只需要在.ajaxSetup方法中设置csrfmiddlewaretoken即可 $.ajaxSetup({ data: {csrfmiddlewaretoken: '{{ csrf_token }} ...

  7. javascript表单的Ajax 提交插件的使用

    Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...

  8. jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址

     一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxF ...

  9. aJax提交——服务端不能用request存储数据,session存数据客户端可以接收到

    aJax提交与普通提交是两种迥异的提交方式,这两种提交方式决定了客户端与服务端交互时存储.传输数据的方式也不同. aJax提交,客户端的请求数据存储在data中,服务端用request.getPara ...

随机推荐

  1. PHP rtrim() 函数

    code <!DOCTYPE html> <html> <body> <?php $str = "Hello World!"; echo ...

  2. SpringCloud:入门介绍

    1.微服务简介 业界大牛马丁.福勒(Martin Fowler) 这样描述微服务: 论文网址:            https://martinfowler.com/articles/microse ...

  3. vue + .net core 项目,源码在GitHub 希望对大家有所帮助

    一. github UI库 : iview 前端部分 vue .net core + DI + EF(dbfirst) 后端API 部分 .Net Core 二. 往期相关博客 SqlServer 获 ...

  4. 用vue做的购物车结算的功能

    <!-- 占位 --> <template> <div> <div class="product_table"> <div c ...

  5. 数据结构Java版之遍历二叉树(六)

    二叉树是我们在程序中用的最多的一种树(个人观点).最简单的一个二叉树是由一个根节点,两个子节点(一左一右成左右孩子节点)组成.二叉树是数组和链表的结合,即包含了数组的快速查找优点,又包含了链表的快速添 ...

  6. 关于 array of const

    之前应该参考一下: 关于开放数组参数 //这是在 System 单元定义的一组标识数据类型的常量: vtInteger    = ; vtBoolean    = ; vtChar      = ; ...

  7. heatmap.js 参数说明

      blur:每个点都是两个圆组成的,分别为内圆和外圆:外圆越大,看起来这个点越模糊,内圆部分比较清晰:外圆的颜色比较固定且与内圆颜色不同,内圆的颜色由value确定:blur决定外圆与内圆的占比大小 ...

  8. Unity3D 2D模拟经营游戏 洗车沙龙 完整源码

    Car Wash Salon Game 描述洗车模板与几个迷你游戏相关的汽车清洁,洗涤和装饰. 简单但有趣的游戏和伟大的视觉效果. 此模板不包含在应用中! 自定义应用程序的示例,有些功能在本项目中不受 ...

  9. pip错误 ImportError: No module named 'pip_internal'

    ubuntu16.04 - wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate sudo python get-pip.p ...

  10. ActiveMQ处理模式

    一.PTP处理模式(Queue) 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息. 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消 ...