$.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         }

 

posted @ 2015-09-07 18:23  周劭洋  阅读(7012)  评论(2编辑  收藏  举报