什么是AJAX? AJAX:”Asynchronous JavaScript and XML”中文意思:异步JavaScript和XML。

指一种创建交互式网页应用的网页开发技术。

AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词。

 

不是指一种单一的技术,而是有机地利用了一系列相关的技术:

web标准( Standards-Based Presentation )XHTML+CSS的表示,

使用 DOM( Document Object Model )进行动态显示及交互,

使用 XML 和 XSLT 进行数据交换及相关操作,

使用 XMLHttpRequest 进行异步数据查询、检索.

AJAX优点

lAjax在本质上是一个浏览器端的技术
lAjax技术之主要目的在于局部交换客户端及服务器间之数据
l这个技术的主角XMLHttpRequest 的最主要特点,在于能够不用重新载入整个版面来更新资料,也就是所谓的Refresh without Reload(轻刷新)
l与服务器之间的沟通,完全是透过Javascript 来实行
l使用XMLHttpRequest 本身传送的数据量很小,所以反应会更快,也就让网络程式更像一个桌面应用程序
lAJAX 就是运用Javascript 在后台悄悄帮你去跟服务器要资料,最后再由Javascript 或DOM 来帮你呈现结果,因为所有动作都是由Javascript 代劳,所以省去了网页重载的麻烦,使用者也感受不到等待的痛苦

1.GET方式

            1.1设置参数

            xhr.open("GET", "GetAreasByAjax.ashx?isAjax=1", true);

     1.2GET方式请求可以设置浏览器不使用缓存
xhr.setRequestHeader("If-Modified-Since", "0");

            1.3发送: xhr.send(null);//GET方式

  2.POST方式:
       1.1设置参数:xhr.open("POST", "GetAreasByAjax.aspx", true);
       1.2添加请求头:xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

            1.3发送:xhr.send("isAjax=1&na=123");//POST方式

异步使用XMLHttpRequest对象

  异步使用XMLHttpRequest对象时,必须使用:onreadystatechange事件。

  使用模式应该是:

1.创建该对象;-new
2.设置readystatechange事件触发一个 回调函数; -onreadystatechagne
3.打开请求;-open
4.发送请求;-send

       注:在回调函数中检查readyState属性,看数据是否准备就绪(是否等于4)。

u如果没有准备好,隔一段时间再次检查。因为数据没有下载完时,我们无法使用它的属性和方法。
u如果已经准备好,就继续往下执行;
lreadyState属性

  readyState属性指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。XMLHttpRequest对象会经历5种不同的状态。

•0:未初始化。对象已经创建,但还未初始化,即还没调用open方法;
•1:已打开。对象已经创建并初始化,但还未调用send方法;
•2:已发送。已经调用send 方法,但该对象正在等待状态码和头的返回;
•3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为状态和响应头不完整;
•4:已加载。所有数据接收完毕
lAJAX请求服务器时如果服务器出错了怎么办?
l编程常见错误
•XMLHttpRequest大小写不正确;
•多写了对圆括号:

  正确:xHRObject.onreadystatechange =getData;

  错误:xHRObject.onreadystatechange =getData();

必须弄清楚,在JavaScript中:

•函数名后如果有圆括号,意思就是将函数的返回值赋给等号左边的变量;
•没有圆括号,是将函数本身赋给等号前的变量。
 

 

转载于:https://www.cnblogs.com/hsha/p/4709542.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值