• Ajax 介绍


    Ajax的关键技术:  异步处理数据

    使用XHTML(HTML)和CSS构建标准化的展示层

    使用DOM(document object model)进行动态显示和交互

    使用XML和XSLT进行数据交换和操纵

    使用XMLHttpRequest异步获取数据

    使用JavaScript将所有元素绑定在一起

    应用范畴:

    局部刷新。

    获取其它网页的内容。

    需要异步读取的地方。

    缺点:

    不被搜索引擎支持。

    不支持浏览器的后退功能。

    纯粹的JavaScript语言。

    AJAX数据处理的实现机制

    AJAX的主要应用是异步获取后台数据和局部刷新。

    异步获取数据的原理是:通过Ajax技术把网络上或服务器上的数据下载到 客户端的内存中,然后使用JavaScript语言根据实际需要整合这些资源, 并用CSS和DOM实现对界面的布局。

    AJAX处理数据的特点就是异步调用按需索取。

    异步读取实现的原理是:当用户选择某项功能时,这项功能调用过程中页 面不会出现中断,用户此时可以浏览其它内容,而非传统的白屏等待页面。

    异步的意思与多线程类似,使用XMLHttp可以在后台运行用户的操作,而用 户在前台感觉不到数据在交互,如此Ajax就可以实现异步调用功能.这样 就不会中断用户的操作,也不会刷屏,让用户休验Web2.0时代的页面特色。

    按需索取实现的原理是:将服务器端的数据根据需要分成多个多页,然后客 户端需要哪个内容,则使用XMLHttp加载哪个网页,最后用Response.Write 返回索取的数据。

    一般处理程序: XX.ashx   没有前台,只有后台,输出数据(提供所需要的数据)

    Html网页里面提供外壳,一般处理程序-->.ashx  提供数据   需要哪个内容就去找哪个一般处理程序

    Ajax中异步获取数据的流程有4步:

    1.创建异步对象。2.加载要获取的服务器页面。3.判断异步调用的状态。 4.发送异步请求。

    其中: 加载(Open)和发送(Send)是异步请求的两个主要方法。 异步返回的数据在判断状态的事件中获取。

    加载服务器的方法Open(): xmlhttp.Open(Method,url,ayac);

    其中Method表示向服务器发送请求的 HTTP方法,此参数主要有两种值(get、post)。

    url:表示请求的服务器地址,如果是XML文件则写出文件相对网站的路径。

    ayac:是否使用异步方式获取数据(true则xmlhttp将异步调用对象)。

    发送异步请求方法Send(): xmlhttp.Send()/xmlhttp.Send(null);

    Send有两种形式,一种带参数,一种不 带参数。如果发送请求参数已经在URL中则Send参数设为null或不写。

    有关状态的属性有3个:

    readyState:表示请求的状态,共有5个,这些状态的顺序及代表值如下: 0(未初始化)->1(正在加载)->2(已加载)->3(交互中)->4(完成)

    status:服务器响应HTTP状态码(200对应OK,404对应NoT Found)。

    异步返回值的属性有3个:

    responseText:以字符串形式返回服务器的响应。

    responseXML:以XML形式返回服务器的响应。

    responseBody:因为服务器的响应包括head、body等全部信息所以可以 使用此属性只获取相应的body部分信息。

    onreadystatechange事件:此事件以属性的方式存在于XMLHttp 对象中,当创建完XMLHttp对象后,需要为对象指定一个方法 用来监视请求状态的变化. xmlhttp.onreadystatechange=proce;

    其中proce是一个自定义的javascript方法,一旦指定了这个 事件的方法,就可以在proce方法中判断请求的状态,并可以 根据状态号执行不同状态时期的客户端处理。

    Get: 注意:

    使用open()方法的时候在地址栏传递参数open(‘get’, 'target.aspx?name=raoqi&&pass=123');

    send();

    Post: 注意:

    当使用post方式的时候必须要设置一下属性用来统一编码 xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded;charset=UTF-8;'); send('name=sealee&&pass=123');

  • 相关阅读:
    JavaWeb之Ajax快速入门(十九)
    JavaWeb之文件上传与下载&邮件技术(十八)
    JavaWeb之Filter快速入门(十七)
    JavaWeb之JDBC分页/监听器(十六)
    JavaWeb之JDBC&自定义框架/DBUtil(十五)
    JavaWeb之JDBC(十四)
    JavaWeb之JDBC学习(十三)
    JavaWeb之Mysql代码练习(十二)
    [ 校内OJ ] NOIP2019模拟赛(五)
    【一本通】欧拉回路
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/5907217.html
Copyright © 2020-2023  润新知