一: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. 逻辑回归(Logistic Regression)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 本文主要讲解分类问题中的逻辑回归.逻辑回归是一个二分类问题. 二分类问题 二分类问题是指预测的y值只有两个 ...

  2. CSC321 神经网络语言模型 RNN-LSTM

    主要两个方面 Probabilistic modeling 概率建模,神经网络模型尝试去预测一个概率分布 Cross-entropy作为误差函数使得我们可以对于观测到的数据 给予较高的概率值 同时可以 ...

  3. 解决Delphi图形化界面的TEdit、TLable等组件手动拖拽固定大小,但是编译之后显示有差别的情况

    经常遇到这样的情况,在我们使用Delphi的可视化工具进行UI设计的时候,我们拖拽TEdit或者Label组件,并且在可视化界面上设置它们的长.宽 但是当我们编译和运行程序的时候,却发现真正显示出来的 ...

  4. Could not open Selected VM debug port (8700) (转)

    Could not open Selected VM debug port (8700) 2014年11月14日 ⁄ 综合 ⁄ 共 446字 ⁄ 字号 小 中 大 ⁄ 评论关闭   在运行项目的时候, ...

  5. 复利计算--结对项目<04-11-2016> 1.0.0 lastest 阶段性完工~

    结对项目:Web复利计算 搭档博客地址:25江志彬  http://www.cnblogs.com/qazwsxedcrfv/ 个人摘要: (2016-04-09-12:00)补充:之前传送门没做好, ...

  6. MIT 6.828 JOS学习笔记5. Exercise 1.3

    Lab 1 Exercise 3 设置一个断点在地址0x7c00处,这是boot sector被加载的位置.然后让程序继续运行直到这个断点.跟踪/boot/boot.S文件的每一条指令,同时使用boo ...

  7. BestCoder 2nd Anniversary

    A题 Oracle http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=703&pid=1001 大数相加: ...

  8. Daily Scrum Meeting ——ZeroDay(Beta)12.08

    算是BETA冲刺的前奏,不算正式冲刺

  9. JavaScript函数表达式

    函数表达式的基本语法形式 var functionName = function(arguments){ //函数体 } 递归建议 我们通过例子来一步步说明,递归的最佳实现方式.下面是普通递归调用的例 ...

  10. [NOIP2011]Mayan游戏 题解

    题目大意: 有一个5*7的方格,上面有几种颜色的方块,如果在一横行或者竖列上有连续三个或者三个以上相同颜色的方块,则它们将立即被消除,方块消除之后,消除位置之上的方块将掉落.每步移动可以且仅可以沿横向 ...