ajax介绍

Posted 辅助园地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax介绍相关的知识,希望对你有一定的参考价值。

说起ajax,我就会想起荷兰三剑客,想起红黑军团,范.巴斯滕、里杰卡尔德、古力特,永远的“阿贾克斯”。虽然昔日的豪门今日已然沦落,但我仍然愿意相信他会卷土重来,那时候他应踩着七彩祥云,所向披靡。我最欣赏他的是:他的天才球星都是自己发掘的。这就是原创的魅力所在,也是我喜欢他的原因。

但是我想说的ajax不是足球,它是jquery的亲生儿子,原意是“asynchronous javascript and xml”,中文:异步JavaScript和XML,所谓的异步就是在事件触发之后浏览器任然可以做其他的事情,与发生事件的控件无关,控件不受影响。

ajax作什么用呢?

ajax是客户端js或jquery和服务器端交互数据的利器,比如我们想把客户端的数据提交到服务器或从服务器端获得数据,这时候就是使用ajax的时候。它有一个最大的优点就是不会有网页刷新,有良好的用户体验。

ajax的格式怎样的呢?

$ajax({各种参数})

参数列表(本文只列出本人经常用到的)

type:两种经常使用的方式,Get 或 post,还有 PUT 和 DELETE (仅部分浏览器支持)

asyc:异步方式,一般选true

data:要发送的数据如,Id:"1"

success:function(){}请求成功后的回调函数

error:function(){}请求不成功的回调函数

还有一些参数,请亲们自行百度。

例子:

  $.ajax({

            type: 'post',

            url: 'Handler.ashx',

            async: true,

            data: { ID: '1' },

            success: function (result) {

                var stu = eval('(' + result + ')');//包装为json格式的数据stu

                     },

            error: function () {

                  alert("错误");

            }

        });

这几行代码的意思是采用异步方式发送一个ID为1的数据给Handler.ashx,如果请求成功,则将返回的数据通过eval()函数封装成json格式的数据stu,如果失败则输出警告框“错误”两字。

服务器端的响应代码如下:

 public class Handler : IHttpHandler, IRequiresSessionState 

    {

        public void ProcessRequest(HttpContext context)

        {

            string sstr = context.Request.Form["ID"].ToString();

            string str_id = sstr.Substring(0, 1);

             int Id = Convert.ToInt32(str_id);

            if (Id == 1)

            {

                List<stufile> nlist = new List<stufile>();

                 nlist = stufileDal.GetstuFile();

                       if (nlist != null)

                {

                    string rtnlist = JsonConvert.SerializeObject(nlist);

                    

                    context.Response.Write(rtnlist);

                }

}

这段代码的意思,解释如下:

 string sstr = context.Request.Form["ID"].ToString();

这句的意思是获得客户端名为ID的数据,我的客户端的数据为1。

              string str_id = sstr.Substring(0, 1);

             int Id = Convert.ToInt32(str_id);

这两句的意思是转换客户端名为ID数据的第一个字符为整型数据id。

   if (Id == 1){

//要返回客户端的数据

}这段代码的意思就是判断id为1的话,在此组织数据返回给客户端。我的代码如下:

List<stufile> nlist = new List<stufile>();

                 nlist = stufileDal.GetstuFile();

                       if (nlist != null)

                {

                    string rtnlist = JsonConvert.SerializeObject(nlist);

                    

                    context.Response.Write(rtnlist);

                }

前两句就是获得一个List<stufile>,stufile是我定义的数据,亲们可以定义自己的类型和获得方法。

  string rtnlist = JsonConvert.SerializeObject(nlist);

是将获得的数据封装为json格式

   context.Response.Write(rtnlist);

是将json格式的数据返回给客户端,也是$ajax({success:function(result){}})中result的数据来源。

至此,ajax的基本功能介绍完毕。现在很多网页都是ajax响应,如果读懂它的ajax响应,我们完全可以写个自动登录,自动刷分的demo,此为题外话,仅作研究之用。


以上是关于ajax介绍的主要内容,如果未能解决你的问题,请参考以下文章

AJAX介绍及原理

[Ajax系列]Ajax介绍

ajax - 基于jQuery的介绍

小白学AJAX-01-介绍

ajax介绍

django中ajax介绍及应用