jquery实现ajax,返回json数据
jquery实现ajax可以调用几种方法

我经常用的是$get(url,data,callback,type)方法
其中url是异步请求的页面(可以是.ashx文件),data是参数,callback是回调函数,而type是返回数据的类型.type有xml,html,json,text等.
首先,页面引用jquery.js
在页面写ajax处理的js函数
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function initMeeting() { $.get("/Common/MeetingRoom.ashx", {meetid:<%=meetId %>},function sellerList(data){ $("#divSellerList").html(data); },"json"); setTimeout("initMeeting()",20000); } function initMeeting() { $.get("/Common/MeetingRoom.ashx", {meetid:<%=meetId %>},function sellerList(data){ var obj = eval( "(" + data + ")" );//转换后的JSON对象 $("#divSellerList").html(obj.CellerList); },"html"); setTimeout("initMeeting()",20000); } |
我用的返回类型是json,这样可以返回类似类的数据类型.比如{"Name":"Sunny D.D", "Age":25}
但是在使用返回值data时,首先要转换json,通过
|
1
|
var obj = eval( "(" + data + ")" );//转换后的JSON对象 |
就能获得json对象.
json对象是在MeetingRoom.ashx文件里处理生成的
部分代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
public class MeetingRoom : IHttpHandler{ public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; try { int meetid = XYConvert.GetInt32(context.Request.QueryString["meetid"]); string str = ""; MeetingJson meetingJson = new MeetingJson(); if (meetid != 0) { meetingJson.CellerList=returnCellerList(meetid); } str = JsonConvert.SerializeObject(meetingJson); context.Response.Write(str); } catch (Exception ex) { context.Response.Write(ex.Message); } } public class MeetingJson { string cellerList; public string CellerList { get { return cellerList; } set { cellerList = value; } } } protected string returnCellerList(int meetid) { //省略.. }} |
返回json数据格式最重要的是使用了JsonConvert.SerializeObject()方法.它可以将需要传递到客户端的数据打包,并序列化为字符串
而类JsonConvert在第三方dll文件中(Newtonsoft.Json.dll),引入dll就可以使用了.
注意:在.ashx页面中,想要使用Session的话,直接写context.Session["user"]是不行的,必须指定当前上下文可以使用Session,可已实现IRequiresSessionState接口,访问Session
|
1
2
|
public class MeetingRoom : IHttpHandler, IRequiresSessionState { |
在中小项目中,使用这种方式实现ajax,如果是大项目里,应该有封装更好的ajax框架
jquery实现ajax,返回json数据的更多相关文章
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- 通过JQuery的$.ajax()把 json 数据 post 给 PHP
通过JQuery的$.ajax()把 json 数据 post 给 PHP时的几种情况: 无法在PHP中通过$_POST 以及 $_REQUEST 获取json数据,即 $json = $_POST[ ...
- PHP AJAX 返回JSON 数据
例子:利用AJAX返回JSON数据,间接访问数据库,查出Nation 表,并用下拉列表显示 造一个外部下拉列表框 </select> JQurey代码 $(document).ready( ...
- ASP.net jQuery调用webservice返回json数据的一些问题
之前寒假时,试着使用jQuery写了几个异步请求demo, 但是那样是使用的webform普通页面,一般应该是用 webservice 居多. 最近写后台管理时,想用异步来实现一些信息的展示和修改, ...
- ajax 返回json数据操作
例子: $.ajax({ url: "<?=Url::toRoute('add-all-staff')?>", type: 'get', dataType: 'json ...
- ajax返回json数据示例
前端发送请求与接收数据: $.ajax({ type : "post", url : "/queryStudent", ...
- html、css/bootStrap、js/Jquery、ajax与json数据交互总结
设计个个人网站,利用CSS.JavaScript.HTML5.jQuery库和AJAX等 实现网站各功能模块,下面介绍我设计的网站各大功能模块: 个人简历模块: 包涵个人基本信息(利用CSS的flo ...
- Jquery,ajax返回json数据后呈现到html页面的$.post方式。
------------------------------------------------------完整版------------------------------------------- ...
- jQuery调用WebService返回JSON数据
相信大家都比较了解JSON格式的数据对于ajax的方便,不了解的可以从网上找一下这方面的资料来看一下,这里就不多说了,不清楚的可以在网上查一下,这里只说一下因为参数设置不当引起的取不到返回值的问题. ...
随机推荐
- 创建对象_工厂方法(Factory Method)模式 与 静态工厂方法
工厂方法模式: 定义:为创建对象定义一个接口,让子类决定实例化哪个类.工厂方法让一个类的实例化延迟至子类. 应用场景: 客户类不关心使用哪个具体类,只关心该接口所提供的功能: 创建过程比较 ...
- 基于http协议的api接口对于客户端的身份认证方式以及安全措施
由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服 ...
- Android小项目练习之一 项目简介
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- 【原创】利用C++ RAII技术自动回收堆内存
[说明]这篇文章本来发布在我个人网站的博客上,但由于:1,打算以cnblogs为家了:2. 关于智能指针部分需要修订,所有将修订版发在这里,作为第一篇文章. 常遇到的动态内存回收问题 在C++的编程过 ...
- spring--事务原理
Spring支持以下7种事务传播行为. 传播行为 XML文件 propagation值 含义 PROPAGATION_REQUIRED REQUIRED 表示当前方法必须在一个具有事务的上下文中运行. ...
- ubuntu系统下安装gstreamer的ffmpeg支持
当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...
- codeforces 676B B. Pyramid of Glasses(模拟)
题目链接: B. Pyramid of Glasses time limit per test 1 second memory limit per test 256 megabytes input s ...
- How To Install Development Tools In Linux
In this brief tutorial, we will be discussing how to install development tools in popular Linux di ...
- js里正则表达式详解
详细内容请点击 正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/ ...
- AjaxPro.2使用小结
这是我最近没事的时候研究的东东,使用AjaxPro.2.dll,从前台调用后台Ajax方法,希望对各位亲有帮助哦.. 1.首先将AjaxPro.2.dll从网上下载下来,打开VS项目,点击项目,右键- ...