var
mall = {
MallID: $(
"#createId"
).val().trim(),
MallName: $(
"#createName"
).val().trim(),
HomeURL: $(
"#chomeurl"
).val().trim(),
PayNotifyURL: $(
"#cpayurl"
).val().trim(),
RefundNotifyURL: $(
"#crepayurl"
).val().trim(),
CompanyName: $(
"#createName"
).val().trim()
};
$.ajax({
type:
"post"
,
url:
"CreateMall"
,
data: { mallInstitution: JSON.stringify(mall) },
datatype:
"json"
,
success:
function
(data) {
if
(data.res == 1) {
alert(
"新增成功"
);
$(
"#hidenbkg"
).css({
"display"
:
"none"
});
$(
"#createmallshow"
).css({
"display"
:
"none"
});
}
else
if
(data.res == 0) {
alert(
"MallID为:"
+ mallid +
"商户已经存在,当前最大商户编号为:"
+ data.Id);
}
else
if
(data.res == 2) {
alert(data.msg);
};
}
});
面是记录我使用ajax发送数据到后台,后台接收数据后做对应的业务逻辑操作;大神就忽略,喷就不用l;如果有什么好的建议,欢迎大家指导,表达能力有限,尽力了;
上面是一段JQuery代码,跟大家分享下使用:
先构建一个js对象mall,用JSON.stringify(mall)把mall转换成json对象(JSON.stringfigy()方法,大家可以百度一下;个人理解是把js对象序列为json对象)
接着用ajax给服务器后台发送数据(我这里使用的是C#的MVC开发模式)
在ajax的data项中用键值对的方式: mallInstitution: JSON.stringify(mall),所以在服务器后台接口的时,只要Request["mallInstitution"]来接收就可以,
后台接收json对象后,事先定义一个对象(MallInstitution)来反序列化,就可以得到相应的数据;MallInstitution对象属性名称必须与Json对象键一致;不然你拿不到
你想要的数据,当然MallInstitution对象的属性个数可以不和Json对象一致。
下面是控制器接收数据的部分测试代码:
public JsonResult CreateMall() 2 { 3 var test = Request["mallInstitution"]; 4 var models = new JavaScriptSerializer().Deserialize<MallInstitution>(test); 5 6 //业务逻辑 7 8 9 JsonResult json = new JsonResult(); 10 return json; 11 }