[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);
}