一、后台页面中的接收方法和返回写法
Jsonresult意味着返回值是json格式,也可以是string或者int等其他类型。
Httppost代表只接受Post方法。
Mvc中返回Jsonresult的方式
return Json(new { options = backMessage, JsonData= JsonData }, JsonRequestBehavior.AllowGet);
如果要返回已有的json字符串,可以直接给这个字符串赋值,比如list=jsonString 这样页面中直接读取list,就会获取字符串;如果是泛型集合,也可以使用这种键值和参数的方法进行返回。
二、前台javascript代码的几种写法
2.1 提交请求
不提交表单,只传递参数,返回字符串
$.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } });
提交表单,返回字符串
var formData = new FormData($("#form1")[0]); // 要求使用的html对象 $.ajax({ url: 'http://localhost:6751/Home/AjaxAddUser', type: 'POST', data: formData, async: true, // 下面三个参数要指定,如果不指定,会报一个JQuery的错误 cache: false, contentType: false, processData: false, success: function (msg) { alert(msg); window.location.href = '/Home/Index'; }, error: function (msg) { alert(msg); } });
提交表单,返回json数据!
var formData = new FormData($("#form1")[0]); $.ajax({ url: '/Manage/UpdateInfo', type: 'POST', data: formData, async: true, // 下面三个参数要指定,如果不指定,会报一个JQuery的错误 cache: false, contentType: false, processData: false, dataType: "json", success: function (json) { var msg = json.options; if (msg == "ok") { alert("操作成功!"); window.location.href = "/Manage/Main"; } else { alert("操作失败!"); } }, error: function (json) { alert("上传失败!"); } });
2.2 json返回值解析
A、使用JSON.parse转化字符串为json对象
var jsonObjForeach = JSON.parse(JSON.stringify(jsonForeach));
B、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符