jquery實現ajax,返回json資料

來源:互聯網
上載者:User

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,通過

 

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

 

    public class MeetingRoom : IHttpHandler, IRequiresSessionState     {

 

在中小項目中,使用這種方式實現ajax,如果是大項目裡,應該有封裝更好的ajax架構

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.