[转]如何在.NET MVC中使用jQuery并返回JSON数据

本文转自:http://blog.sina.com.cn/s/blog_48e42dc90100xp1p.html

二、开始实践 - jQuery端

假设我们要从服务器端获取一个文章列表,并把文章条目显示在页面中,而加载的过程要用ajax实现,即实现异步加载。那么我们先来完成jquery向服务器端发出ajax请求,并根据服务器响应来重组DOM从而实现文章在页面上显示。这里,和.NET MVC没有多大关系。具体的jquery代码如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
url: '/cgi/getArtical', //请求的某个action的地址
datatype: "json", //只有指定为json下面才可以直接用返回的json数据,否则要转化
type: 'post',
success: function (data) {
PutArtical(data); //该函数中处理json格式的文章数据data;
HideTip(); //处理完文章后关闭加载提示
},
beforeSend: function(){
LoadTip("正在加载文章"); //这里是加载过程中的等待提示,可以自己定义
}
})

这是一个普通的jquery中ajax调用的例子,需要注意的是datatype最好指定为json,因为下面服务器端是直接返回json对象的,这样success中返回的数据就直接是json对象,可以直接使用;如果不这样指定的话也行,不过在success函数中必须先把data转换成json对象,转换方法是eval_r('('+data+')')。

 

三、开始实践 - .NET MVC服务器端

上面我们可以让jquery来调用action了,那么我们接下来就来写这个action,并把结果以json的格式返回给jquery,具体代码如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
/// <summary>
/// 返回文章列表
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
[HttpPost]
public ActionResult getArtical()
{
List<Artical> artList = new List<Artical>();
artList.Add(new Artical(){ Id = 1,Title = "测试文章1" });
artList.Add(new Artical(){ Id = 2,Title = "测试文章2" });
return Json(artList); //MVC中可以用Json函数来将C#对象序列化成JSON对象
}

这个和以前普通的服务器代码不同的是最后我们可以非常方便地用Json函数将C#对象序列化成JSON对象并返回给jquery,代码十分简洁。

 

四、总结

在.NET MVC中使用jquery更加方便,jquery端只要我们指定返回的数据类型(datatype)为json就可以方便地使用服务器返回的json数据;服务器端我们可以用Json函数非常方便地将c#对象序列化成json对象而不必写一大堆的Response.Write("......")。本文到此结束!

 

 

转载于:https://www.cnblogs.com/freeliver54/p/3140198.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql查当前用户的的命令_mysql命令大全用户管理相关命令

grant 普通数据用户&#xff0c;查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user’%’grant insert on testdb.* to common_user’%’grant update on testdb.* to common_user’%’grant delete on testdb.* to common_user’%’或…

ud分区删除工具_硬盘分区GPT分区怎么转MBR呢?硬盘分区GPT分区转MBR教程

很多用户的电脑预装的是win10系统&#xff0c;想要重装成win7系统。不过新电脑一般都是GPT分区&#xff0c;想要把win10重装成win7&#xff0c;首先需要将GPT分区转MBR。那么&#xff0c;硬盘分区GPT分区怎么转MBR呢?下面就让小编为大家带来硬盘分区GPT分区转MBR教程。提示:单…

串口

1. 5350串口可以设置阻塞模式&#xff0c;3352只能是非阻塞模式 2. termios结构体为全局变量或局部变量&#xff0c;5350分别为阻塞或非阻塞 3. termios结构体在使用前必须清0&#xff0c;否则会出现有时收不到数据的情况 4. termios结构体必须被设置&#xff0c;否则会出现发送…

python中的ix是啥_详谈Pandas中iloc和loc以及ix的区别

Pandas库中有iloc和loc以及ix可以用来索引数据&#xff0c;抽取数据。但是方法一多也容易造成混淆。下面将一一来结合代码说清其中的区别。1. iloc和loc的区别&#xff1a;iloc主要使用数字来索引数据&#xff0c;而不能使用字符型的标签来索引数据。而loc则刚好相反&#xff0…

mysql 结构体_mysql模块使用结构体生成数据库表,不识别long类型

windows环境&#xff1a;windows10&#xff0c;vs2017&#xff0c;编译器最新&#xff0c;支持c17.问题描述&#xff1a;例如结构体&#xff1a;struct test_create_table{//__int64 id; //可以long id; //不可以&#xff0c;编译报错string name;};REFLECTION(test_create_tab…

使用Preference保存设置

Android中有四种持久化数据的方法&#xff1a;SQLite数据库、文件存储、Preference、ContentProvider。 四种方法各有专攻&#xff0c;而其中Preference是以类似Map的键值对形式存储的&#xff0c;最适合用来保存用户个人设置之类的信息。 可以用一个xml文件来配置一个设置界面…

c语言如何编写mysql客户端_【C/C++学院】(23)Mysql数据库编程--C语言编程实现mysql客户端...

#include #include #include #include #include #include #include #include "mydb.h"void sqldb(const char *src)//参数src为要执行的SQL语句{if ((strncmp(src, "select", 6) 0) || (strncmp(src, "SELECT", 6) 0)|| (strncmp(src, "s…

调用支付jsapi缺少参数package_iOS微信支付(Swift)

前言微信支付的iOS的Demo不言而喻,所有的参数都是后台生成传过来的&#xff0c;完全没参考价值,并且有的注意点文档上也没说&#xff0c;现在我就说一下微信支付开发中需要注意的地方项目配置把实例项目中的一下文件拖到项目中Control文件夹下的WXApiManager.h和WXApiManager.m…

尚未注册 OLE DB 访问接口 SQLNCLI10 7043 错误

与链接服务器的测试连接失败。 执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo) ------------------------------程序位置: 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTy…

asterisk 支持 VP8 video编码 实现安卓的视频通话

1 :checkout Asterisk source code revision 373330 svn checkout -r 373330 http://svn.digium.com/svn/asterisk/trunk asterisk (下载最新asterisk版本) 2 &#xff1a;asterisk 上面需要打一个补丁支持 VP8 video编码 wget http://sipml5.googlecode.com/svn/trunk/aste…

【Flink SQL API体验数据湖格式之paimon】

前言 随着大数据技术的普及&#xff0c;数据仓库的部署方式也在发生着改变&#xff0c;之前在部署数据仓库项目时&#xff0c;首先想到的是选择国外哪家公司的产品&#xff0c;比如&#xff1a;数据存储会从Oracle、SqlServer中或者Mysql中选择&#xff0c;ETL工具会从Informa…

ai里为什么不能随意放大缩小_AI常见问题解答

1、在AI中,有没有和CD一样的调整文字间距的快捷键呀? 答:Alt+左右方向键移动箭头。 2、在AI中,如何像快速放大缩小编辑区域? 答:按住Alt滚动鼠标滚轮。 3、在AI中,如何设置圆角矩形的圆角大小? 答:点击圆角矩形工具,用鼠标点击画布,这里可以填。 4、在AI中,如何简单…

python归一化 增大差异_Python逻辑回归模型原理及实际案例应用

前言上面我们介绍了线性回归, 岭回归, Lasso回归, 今天我们来看看另外一种模型—"逻辑回归". 虽然它有"回归"一词, 但解决的却是分类问题目录1. 逻辑回归2. 优缺点及优化问题3. 实际案例应用4. 总结正文在前面所介绍的线性回归, 岭回归和Lasso回归这三种回…

上周热点回顾(6.17-6.23)

热点随笔&#xff1a; 各地IT薪资待遇讨论&#xff08;潇洒一回&#xff09; 这些年过上幸福生活的程序员&#xff08;上篇&#xff09;&#xff08;飞扬青云&#xff09; 一个线上运营着3000人的游戏&#xff0c;因为我不小心一个DROP DATABASE&#xff0c;全没了。 怎么办…

Boost学习之指针容器--pointer_container

有时,我们可能需要一个包含指针的容器.比如存放一些不可拷贝的对象或者想在容器里存放基类以实现多态.尽管我们可以直接定义存放指针的STL容器,不过这样并不方便,我们得处处小心,在清空或删除容器里的元素时我们要保证异常安全地回收指针所指向的对象,以防内存泄漏. 一个好的办…

libzdb 连接到mysql_MySQL 连接

MySQL 连接使用mysql二进制方式连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接mysql服务器的简单实例&#xff1a;[roothost]# mysql -u root -pEnter password:******在登录成功后会出现 mysql> 命令提示窗口&#xff…

python ios 坐标点击_python点击鼠标获取坐标(Graphics)

使用Python进行图像编程&#xff0c;要使用到Graphics库。下面列举出较常用的代码from graphics import *#设置画布窗口名和尺寸win GraphWin(hehe, 666, 666)#关闭画布窗口win.getMouse()win.close()#画点pt Point(100, 100)pt.draw(win)#画圆cir Circle(Point(200, 200), …

C++ 11右值引用

C 11中引入的一个非常重要的概念就是右值引用。理解右值引用是学习“移动语义”&#xff08;move semantics&#xff09;的基础。而要理解右值引用&#xff0c;就必须先区分左值与右值。对左值和右值的一个最常见的误解是&#xff1a;等号左边的就是左值&#xff0c;等号右边的…

mysql dml ddl优先级_MYSQL入门操作和常规DML、DDL、DQL使用

刷新权限&#xff0c;将某些权限从硬盘刷新到内存中(修改root密码自带隐式刷新权限操作)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql>查看服务端口mysql> show variables like port;----------------------| Variable_name | Value |--------…

C语言中字符串如何转换为二进制、八进制、十进制、十六进制

在C语言某个程序当中需要把文本16进制转换成对应的16进制数&#xff0c;比如字符串"0x1a"转换成10进制的26&#xff0c;可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, strtoul 表头文件: #include <stdlib.h> 定义函数: long int strtol(const…