//写在前面的话
//contentType 和data是一对,data是什么类型是由contentType指定的,而dataType只是后台返回值的类型
$("#postjson").click(function () {
var json = JSON.stringify({ userid: "admin", password: "admin", test: "good" });
var json2 = "{userid: 'admin', password: 'admin', test: 'good'}";
$.ajax({
type: "post",
dataType: "json",//这里是后台返回值的类型
contentType: 'application/json',//这是ajax传进去的数据类型,对应下面的data
data: json2,//json 和json2是一样的 一种是手动拼出来的,一种是生成的第一种会省事
url: "/home/PostJson",//url: "/home/PostJson2",后台中一个是实体接收一个是原始参数接收
success: function (data) {
alert(data.userid + " " + data.password + " " + data.test);
}
});
});
$("#postkeyvalue").click(function () {
$.ajax({
type: "post",
dataType: "json",
contentType: 'application/x-www-form-urlencoded',//当ajax没有设置这个值时,默认就是这个
data: { userid: "admin", password: "admin", test: "good"},
url: "/home/PostKeyValue",//url: "/home/PostKeyValue2",后台中一个是实体接收一个是原始参数接收
success: function (data) {
alert(data.userid + " " + data.password + " " + data.test);
}
});
});
$("#postxml").click(function () {
$.ajax({
type: "post",
dataType: "json",
//contentType: 'text/plain',//这三种是一样的
//contentType: 'text/xml',
contentType: 'text/html',
data: "<note><to>Tove</to></note>",
url: "/home/PostXml",
success: function (data) {
alert(data);
}
});
});
/// <summary>
/// 实体接收
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
[HttpPost]
public ActionResult PostJson(Person p)
{
return Json(new { p.userid, p.password, p.test });
}
/// <summary>
/// 原始参数接收
/// </summary>
/// <param name="userid"></param>
/// <param name="password"></param>
/// <param name="test"></param>
/// <returns></returns>
[HttpPost]
public ActionResult PostJson2(string userid, string password, string test)
{
return Json(new { userid, password, test });
}
/// <summary>
/// 实体接收
/// </summary>
/// <param name="p"></param>
/// <returns></returns>
[HttpPost]
public ActionResult PostKeyValue(Person p)
{
return Json(new { p.userid, p.password, p.test });
}
/// <summary>
/// 原始参数接收
/// </summary>
/// <param name="userid"></param>
/// <param name="password"></param>
/// <param name="test"></param>
/// <returns></returns>
[HttpPost]
public ActionResult PostKeyValue2(string userid, string password, string test)
{
return Json(new { userid, password, test });
}
[HttpPost]
public ActionResult PostXml()
{
StreamReader sr = new StreamReader(this.Request.InputStream);
string a = sr.ReadToEnd();
sr.Close();
return Json(a);
}