一。使用get方式
1.前台
//复杂json对象提交
var person = {‘per‘:"{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ }"};
$.ajax({
type: "get",
url: "JsonObject.asmx/GetPersonByObject",
data: person,
dataType: ‘json‘,
contentType: ‘application/json;charset=utf-8‘,
success: function (data) {
if (data.d == "1") {
$("#hello").text("服务器接收成功!");
}
else {
$("#hello").text("服务器接收数据失败!");
}
},
error: function () {
$("#hello").text("程序运行出错!");
}
});
2.后台
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json, UseHttpGet=true)]
public string GetPersonByObject()
{
string jsonStr = HttpContext.Current.Request["per"];
Person per = jsonStr.JsonDeserialezer<Person>();//将json字符串反序列化
if (per.Id == 1)
{
return "1";
}
return "0";
}
二。使用post方式
1.前台
var person = "{‘per‘:\"{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ }\"}";
$.ajax({
type: "post",
url: "JsonObject.asmx/GetPersonByObject",
data: person,
dataType: ‘json‘,
contentType: ‘application/json;charset=utf-8‘,
success: function (data) {
if (data.d == "1") {
$("#hello").text("服务器接收成功!");
}
else {
$("#hello").text("服务器接收数据失败!");
}
},
error: function () {
$("#hello").text("程序运行出错!");
}
});
2.后台
[WebMethod]
public string GetPersonByObject(string per)
{
Person person= per.JsonDeserialezer<Person>();//将json反序列化
if (person.Id == 1)
{
return "1";
}
return "0";
}
三。List类型json提交,post方式
1.前台
//复杂json对象提交2
var person = "{‘per‘:\"[{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ },{ ‘id‘: 2, ‘name‘: ‘王芳‘, ‘sex‘: ‘女‘ }]\"}";
$.ajax({
type: "post",
url: "JsonObject.asmx/GetPersonByOjects",
data: person,
dataType: ‘json‘,
contentType: ‘application/json;charset=utf-8‘,
success: function (data) {
$("#hello").text("就收前台数据人数:"+data.d);
},
error: function () {
$("#hello").text("程序运行出错!");
}
});
2.后台
[WebMethod]
public int GetPersonByOjects(string per)
{
List<Person> list = per.JsonDeserialezer<List<Person>>();//反序列化json字符串
return list.Count;
}
四。List类型json提交,get方式
1.前台
var person = {‘per‘:"[{ ‘id‘: 1, ‘name‘: ‘张三‘, ‘sex‘: ‘男‘ },{ ‘id‘: 2, ‘name‘: ‘王芳‘, ‘sex‘: ‘女‘ }]"};
$.ajax({
type: "get",
url: "JsonObject.asmx/GetPersonByOjects",
data: person,
dataType: ‘json‘,
contentType: ‘application/json;charset=utf-8‘,
success: function (data) {
$("#hello").text("就收前台数据人数:"+data.d);
},
error: function () {
$("#hello").text("程序运行出错!");
}
});
2.后台
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json,UseHttpGet=true)]
public int GetPersonByOjects()
{
string per = HttpContext.Current.Request["per"];
List<Person> list = per.JsonDeserialezer<List<Person>>();
return list.Count;
}