$.ajax传递字符串到后台,后台返回json对象
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发送数据到后台,后台接收数据后做对应的业务逻辑操作;大神就忽略,喷就不用了;如果有什么好的建议,欢迎大家指导,表达能力有限;
上面是一段JQuery代码,跟大家分享下使用:
先构建一个js对象mall,用JSON.stringify(mall)把mall对象转换成字符串(JSON.stringfigy()方法把js对象序列字符串)
接着用ajax给服务器后台发送数据(我这里使用的是C#的MVC开发模式)
在ajax的data项中用键值对的方式: mallInstitution: JSON.stringify(mall),所以在服务器后台接口的时,只要Request["mallInstitution"]来接收就可以,
后台接收数据是字符串来的,事先定义一个对象(MallInstitution)来反序列化,就可以得到相应的数据;MallInstitution对象属性名称必须与Json对象键一致;序列化时就可以拿到你想要的数据。
下面是控制器接收数据的部分测试代码:
1 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 }