MVC4与JSON交互的知识总结
一: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交互的知识总结的更多相关文章
- 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!
前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近. 很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...
- [BS-12] JSON的基础知识--百科
JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm
- SpringMVC详解(六)------与json交互
Json(JavaScript Object Notation),它是一种轻量级数据交换格式,格式简单,易于读写,目前使用特别广泛.那么这篇博客我们主要谈谈在 SpringMVC 中,如何对 json ...
- SpringMVC框架五:图片上传与JSON交互
在正式图片上传之前,先处理一个细节问题: 每一次发布项目,Tomcat都会重新解压war包,之前上传过的图片会丢失 为了解决这个问题:可以不在Tomcat下保存图片,而是另找一个目录. 上传图片: & ...
- springMVC的高级数据绑定,以及json交互,全局异常配置,
一.窄化请求映射 1.在class上添加@RequestMapping(url)指定通用请求前缀, 限制此类下的所有方法请求url必须以请求前缀开头,通过此方法对url进行分类管理. 如下: @Con ...
- SpringMVC之JSON交互
#什么是json? json是一种用于储存数据格式,是js脚本语言的子集. #json的作用? 它可以传递对象.数组等数据结构.如果是单个数据,则要用数组,不用对象,因为对象都是键值对的 方式去存储, ...
- springmvc实现json交互 -requestBody和responseBody
json数据交互 1.为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据. 2. ...
- Ajax json交互和SpringMVC中@RequestBody
Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...
- SpringMVC-05 Json交互处理
SpringMVC-05 Json交互处理 Json 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别 ...
随机推荐
- $().click(function(){}) 不管用 live()替代品 append之后
根据jQuery的官方描述,live方法在1.7中已经不建议使用,在1.9中删除了这个方法.并建议在以后的代码中使用on方法来替代. on方法可以接受三个参数:事件名.触发选择器.事件函数. 需要特别 ...
- 【Java EE 学习 48】【Hibernate学习第五天】【抓取策略】【二级缓存】【HQL】
一.抓取策略. 1.hibernate中提供了三种抓取策略. (1)连接抓取(Join Fetch):这种抓取方式是默认的抓取方式.使用这种抓取方式hibernate会在select中内连接的方式获取 ...
- C++静态库与动态库
C++静态库与动态库 这次分享的宗旨是--让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择.这里不深入介绍静态库.动态库的底层格式,内存布局等,有兴趣的同学,推荐一 ...
- FP-growth高效频繁项集发现
FP-growth 算法优缺点: 优点:一般快于Apriori 缺点:实现比较困难,在某些数据上性能下降 适用数据类型:标称型数据 算法思想: FP-growth算法是用来解决频繁项集发现问题的,这个 ...
- Visual Studio 插件的开发(转)
起因 在做项目的时候,经常需要根据表结构create一些实体类,写多了,实在是觉得无趣,于是就琢磨着做个代码生成工具.当然现在有很多现成的,拿来用就好,可是总想自己弄个出来玩玩,一来是当初用DataS ...
- abort 用法讨论
同事说: TT***.factary( procedure() begin .... abort; .... end)大家在TTask中不建议用abort因为难以控制,我测试 ...
- Ubuntu下使用vsftpd实现FTP
## 哈哈哈啊哈 被领导啪啪啪打脸,文件连在线打开都不行,你做事情的时候有没有考虑过别人使用时的感受!! 需求: 部门老大希望在内网搭建一个用于员工共享文件的系统. 很自然的就想到通过FTP去实现. ...
- debian 安装svn apache 小记. AuthzSVNAccessFile 不生效问题.
docker 使用docker镜像搭建svn+Apache环境 https://my.oschina.net/u/2006667/blog/637882 1,安装 apache ,svnapt-get ...
- Velocity 语法(转)
一.基本语法 1."#"用来标识Velocity的脚本语句,包括#set.#if .#else.#end.#foreach.#end.#iinclude.#parse.#macro ...
- Unity3D 自定义事件(事件侦听与事件触发)
先来看下效果图,图中点击 Cube(EventDispatcher),Sphere(EventListener)以及 Capsule(EventListener)会做出相应的变化,例子中的对象相互之间 ...