一:jquery传递JSON给MVC4后台

1.JSON传递单个参数给Controller某个Action方法

[前台js]

    $(document).ready(function () {
var postData = { userId: 4 };
var url = "@Url.Action("GetUserName")";
$.ajax({
async: false,
type: "POST",
url: url,
data: postData,
cache: false,
global: false,
dataType: 'json',
success: function (data) { }
});
});

[后台Controller:]

public ActionResult GetUserName(int userId)
{
...
}

2.JSON传递整型数组给Action
[前台js]

$(document).ready(function () {
var postData = [];
postData.push({ name: "list_UserId", value: 1 });
postData.push({ name: "list_UserId", value: 2 });
postData.push({ name: "list_UserId", value: 3 }); var url = "@Url.Action("GetUserNameList")";
$.ajax({
async: false,
type: "POST",
url: url,
data: postData,
cache: false,
global: false,
dataType: 'json',
success: function (data) { }
});
});

[Action]

public ActionResult GetUserNameList(List<int> list_UserId)
{
.....
}

3.JSON传递单个对象参数给Action
[前台js]

$(document).ready(function () {
var postData = [];
postData.push({ name: "user.userId", value: 1 });
postData.push({ name: "user.userName", value: "小东" });
postData.push({ name: "user.desc", value: "json高手" }); var url = "@Url.Action("AddUser")";
$.ajax({
async: false,
type: "POST",
url: url,
data: postData,
cache: false,
global: false,
dataType: 'json',
success: function (data) { }
});
});

[Action]

public ActionResult AddUser(UserObj user)
{
....
}

4.JSON传递多个参数给Action
[前台js]

$(document).ready(function () {
var postData = [];
postData.push({ name: "list_UserId", value: 1 });
postData.push({ name: "list_UserId", value: 2 });
postData.push({ name: "list_UserId", value: 3 }); postData.push({ name: "list_roleName", value: "系统管理员" });
postData.push({ name: "list_roleName", value: "部门经理" }); var url = "@Url.Action("GetUsersAndRoles")";
$.ajax({
async: false,
type: "POST",
url: url,
data: postData,
cache: false,
global: false,
dataType: 'json',
success: function (data) { }
});
});

[Action]

public ActionResult GetUsersAndRoles(List<int> list_UserId, List<string> list_roleName)
{
...
}

二:MVC4后台返回JSON给JS前端作处理:

1.返回List集合对象
[前端js]

$(document).ready(function () {
var postData = [];
postData.push({ name: "list_UserId", value: 1 });
postData.push({ name: "list_UserId", value: 2 });
postData.push({ name: "list_UserId", value: 3 }); var url = "@Url.Action("GetUserObjList")"; $.ajax({
async: false,
type: "POST",
url: url,
data: postData,
cache: false,
global: false,
dataType: 'json',
success: function (data) {
//将获取user集合初始化下拉框列表
var options_List = '<option value="">--请选择用户--</option>';
$.each(data, function (i, user) {
options_List += "<option value='" + user.userId + "'>" + user.userName + "</option>";
});
$('#userList').html(options_List);
}
});
});

[后台action]

public ActionResult GetUserObjList(List<int> list_UserId)
{
UserObj obj1 = new UserObj();
obj1.userId = ;
obj1.userId = ;
List<UserObj> userList = new List<UserObj>();
userList.Add(new UserObj{userId = , userName = "小东", desc = "js高手"});
userList.Add(new UserObj { userId = , userName = "小明", desc = "json高手" });
userList.Add(new UserObj { userId = , userName = "小华", desc = "jquery高手" });
JsonResult jt = Json(userList.ToArray(), JsonRequestBehavior.AllowGet);
jt.ContentType = "text/html";
return jt;
}

三:最后总结:
1.无论传递json还是后台返回json,所以action无论参数有多少,参数的类型是什么,在http中都是以键值方式作为一个整包来处理。

MVC4与JSON交互的知识总结的更多相关文章

  1. 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

    前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近.  很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...

  2. [BS-12] JSON的基础知识--百科

    JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm

  3. SpringMVC详解(六)------与json交互

    Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json ...

  4. SpringMVC框架五:图片上传与JSON交互

    在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: & ...

  5. springMVC的高级数据绑定,以及json交互,全局异常配置,

    一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...

  6. SpringMVC之JSON交互

    #什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储, ...

  7. springmvc实现json交互 -requestBody和responseBody

    json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...

  8. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  9. SpringMVC-05 Json交互处理

    SpringMVC-05 Json交互处理 Json 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别 ...

随机推荐

  1. Runnable接口

    Runnable接口的说用是使线程不仅可以继承Thread类实现,还可以继承其他类(比如:JFrame). 此接口具有两个构造方法: (1)public Thread(Runnable r) (2)p ...

  2. Oracle安装介质及补丁集下载地址

    Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP http://downl ...

  3. 【CentOS】虚拟机网络配置与远程登录

    ////////////////////////////////////11月16日更新////////////////////////////////////////////////////// 一 ...

  4. Hdu 3564 Another LIS 线段树+LIS

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  5. sql 动态行转列

    create table u01 (医案编号 varchar(5),药物编号 varchar(5)) insert into u01 select '01','01' union all select ...

  6. Node.js-安装配置【1】-在Windows XP系统配置环境变量

    家里有台老古董台式机,安装的是Windows XP系统,摸索了一下,成功的在上面安装配置好了Node.js V4.4.7 一.安装Node.js(过程略) 二.npm配置全局和缓存路径(过程略) 三. ...

  7. 求两条线段交点zz

    "求线段交点"是一种非常基础的几何计算, 在很多游戏中都会被使用到. 下面我就现学现卖的把最近才学会的一些"求线段交点"的算法说一说, 希望对大家有所帮助. 本 ...

  8. JavaScript变量和作用域

    认识JavaScript中的变量 JavaScript中的变量有两种类型,一种是基本类型.一种是引用类型. 基本数据类型:Defined,Null,Boolean,Number,String.注意St ...

  9. JSON和JSONP (含jQuery实例)(share)

    来源:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 前言: 说到AJAX就会不可避免的面临两个问 ...

  10. 聊下并发和Tomcat线程数(错误更正)

    本文前半部分结论存在严重错误,请看最后2015-1-20更新部分. 最近一直在解决线上一个问题,表现是: Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池 ...