[FromBody]必须是application/json 否则会报415 不支持的类型


//Forms
function FormsPost(data) { //Default Type x-www-form-urlencoding =>Form
$.ajax({
url: "/api/AgentAccount/PostForm",
type: "post",
datatype: "json",
data: data,
success: function (data) {
alert('success');
}
}).fail(
function (xhr, textstatus, err) {
alert('error: ' + err);
});
} //[FromBody] Model
function ModelPost(data) {
$.ajax({
url: "/api/AgentAccount/UserRegister",
type: "post",
contentType: 'application/json; charset=utf-8',
datatype: "json",
data: JSON.stringify(data),//jSON.stringfy for Model transmit [FromBody] will be used;
success: function (data) {
alert('success');
}
}).fail(
function (xhr,textstatus, err) {
alert('error: ' + err);
});
} //[FromBody] String
function StringPost(data) {
data = { "": "sds" };
$.post('/api/AgentAccount/PostString', data);
$.ajax({
url: "/api/AgentAccount/PostString",
type: "post",
contentType: 'application/json; charset=utf-8',
datatype: "json",
data: data,
success: function (data) {
alert('success');
}
}).fail(
function (xhr, textstatus, err) {
alert('error: ' + err);
});
} //[FromBody] Image
function XhrUploadImage() { } //[FromeBody] xhr.Model
function XhrPostModel(data) {
xhr = new XMLHttpRequest();
xhr.open("POST", "/api/AgentAccount/UserRegister", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(data));
xhr.onreadystatechange = function (event) {
if (4 == xhr.readyState) {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
} else {
alert('error:' + xhr.status);
}
}
};
}

 对应controller action

        [HttpPost("PostForm")]
public JsonResult PostForm(string FullName)
{
var data = new
{
username = "PostString"
};
return Json(data);
} [HttpPost("UserRegister")]
public JsonResult UserRegister([FromBody]AspNetUsers value)
{
var data = new {
username="sf"
};
return Json(data);
} // POST api/values
[HttpPost("PostString")]
public JsonResult PostString([FromBody] string value)
{
var data = new
{
username = "sf"
};
return Json(data);
}

  

 

XHR2 和[FromBody]使用说明的更多相关文章

  1. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  2. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  3. webapi frombody fromuri的参数绑定规则

    在WebAPI中,请求主体(HttpContent)只能被读取一次,不被缓存,只能向前读取的流. 举例子说明: 1. 请求地址:/?id=123&name=bob 服务端方法: void Ac ...

  4. 使用XHR2或Jsonp实现跨域以及实现原理

    我们直接使用XMLHttpRequset请求外部接口 会发现 报这个错误 其实浏览器成功发送请求并拿回了数据  只是浏览器的同源策略 禁止了获取  在xhr2 服务器端支持跨域 需要在响应头增加 Ac ...

  5. html5拖拽事件 xhr2 实现文件上传 含进度条

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  7. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  8. ASP.NET MVC Web API Post FromBody(Web API 如何正确 Post)

    问题场景: ASP.NET MVC Web API 定义 Post 方法,HttpClient 使用 JsonConvert.SerializeObject 传参进行调用,比如 Web Api 中定义 ...

  9. Map工具系列-02-数据迁移工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

随机推荐

  1. phpcms 头部搜索栏上边的 “新闻 | 图片 | 下载 | 专题” 是在哪里修改的?

    phpcms 是怎么修改以下 栏目列. 在后台的时候,“模块管理>全站搜索”,可以修改搜索分类

  2. .net 连接sqlserver类库

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  3. LVS--NAT模型配置

    环境准备 管理IP地址 角色 备注 192.168.11.131 调度器(Director) 对外提供VIP服务的地址为192.168.1.114 192.168.11.132 RS1  网关为192 ...

  4. Date 与 switch的运用

    <html><head><title>日期</title><script>function toChinese(day){ switch(d ...

  5. RAC 移动 OCR

    1.查看是否有OCR备份 # ocrconfig -showbackup 如果没有就备份一份 # ocrconfig -export /oracle/bak/ocr/ocr_11291433_exp. ...

  6. Java 抓取 thread dump (Full Thread Stack Trace) 方法汇总

    顾名思义,表示一个时间点上,显示进程里面每一个线程的 stack trace,以及线程之间关联,比如等待 常用来定位一些 不响应,CPU 很高,内存使用很高问题 汇总表格如下 工具 操作系统 Java ...

  7. easyui 上传文件代码

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.IO;usi ...

  8. Jni的一个异常

    UnsatisfiedLinkError:No implementation found for java.lang.String com.skymaster.hs.test4.MainActivit ...

  9. De novo 测序基础知识

    名词解释 De novo:拉丁文,从头开始的意思,de nove测序则是指在不需要任何参考序列的情况下对某一物种进行基因组测序,然后将测得的序列进行拼接.组装,从而绘制该物种的全基因组序列图谱. 重测 ...

  10. 【转】loading 三种实现方式

    转载:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=76872 一.通过动画实现 定义res/anim/loading.xml如 ...