jquery实现ajax,返回json数据
jquery实现ajax,返回json数据
jquery实现ajax可以调用几种方法
我经常用的是$get(url,data,callback,type)方法
其中url是异步请求的页面(可以是.ashx文件),data是参数,callback是回调函数,而type是返回数据的类型.type有xml,html,json,text等.
首先,页面引用jquery.js
在页面写ajax处理的js函数
- 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文件里处理生成的
部分代码如下:
- 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 public class MeetingRoom : IHttpHandler, IRequiresSessionState
2 {
在中小项目中,使用这种方式实现ajax,如果是大项目里,应该有封装更好的ajax框架。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
学习学习