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 }