Ajax

作者: ComfyUI | 来源:发表于2017-07-17 21:16 被阅读43次

Ajax是无需刷新页面就能够从服务器取得数据的一种方法。

1、XMLHttpRequest对象
各浏览器(包括ie7+)都支持原生的XHR对象,在这些浏览器中创建XHR对象可以:

var xhr=new XMLHttpRequest();

ps:个人觉得现在写一个跨浏览器兼容的函数方法没必要,兼容做到ie7+就够了

2、XHR的用法
①open( )方法
接受三个参数:第一个参数是要发送的请求的类型(“get”、“post”等);第二个参数是请求的URL(文件);第三个参数表示是否(true/false)异步发送请求的布尔值。

var xhr=new XMLHttpRequest();
xhr.open("get","example.txt",false);

②send( )方法
要发送特定的请求,必须像下面这样调用send( )方法

var xhr=new XMLHttpRequest();
xhr.open("get","example.txt",false);
xhr.send(null);

    调用send以后,请求就会被分派到服务器,且由于这次请求是同步的(false),所以js代码会等到服务器响应之后再继续执行。
    在收到响应以后,响应的数据就会自动填入到XHR对象的几个属性中去。

③XHR对象的属性

  • responseText:作为响应主体返回的文本。
  • responseXML:如果响应类型是“text/xml”或“application/xml”,这个属性将包含这响应数据的XML DOM文档。
  • status:响应的http状态。
  • statusText:http状态说明
var xhr=new XMLHttpRequest();
xhr.open("get","./example.txt",false);
xhr.send(null);
if(xhr.status>=200 && xhr.status<300 || xhr.status==304){
    alert(xhr.responseText);
}else{
    alert("Request was unsuccessful:"+xhr.status);
}

ps:chrome浏览器不支持本地的异步请求,所以本地测试请换其他浏览器

  • readyState:表示请求/响应过程的当前活动阶段。这个属性可取的值如下:
    0:未初始化。尚未调用open方法。
    1:启动。已经调用open方法,但尚未调用send方法。
    2:发送。已经调用send方法,但尚未接受到响应。
    3:接受。已经接受到部分响应数据。
    4:完成。已经接受到全部响应数据,而且已经可以在客户端使用了。
    只要readyState属性的值由一个值变成另一个值,都会触发一次readystatechange事件;可以利用这个事件来检测每次状态变化后readyState的值
var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
    if(xhr.readyState == 4){
        if(xhr.status>=200 && xhr.status<300 || xhr.status==304){
            alert(xhr.responseText);
        }else{
            alert("Request was unsuccessful:"+xhr.status);
        }
    }
};
xhr.open("get","example.txt",true);
xhr.send(null);

相关文章

  • AJAX

    主要内容: ajax 是什么、原生ajax 写法和jQuery ajax写法。 AJAX 是什么 ajax,即As...

  • JavaScript进阶知识点--AJAX及JSON

    AJAX 关于 AJAX 什么是 AJAX AJAX 的全称是 Asynchronous JavaScript a...

  • HTML5权威指南 | 第五部分 高级功能

    三十二、使用AJAX(上) Ajax起步: 使用Ajax事件: Ajax请求的错误处理: 中止Ajax请求: 三十...

  • ajax学习笔记

    Ajax学习笔记 Ajax简介 1. Ajax是什么? Ajax : Asynochronous javascri...

  • AJAX

    一、简介 AJAX菜鸟教程 什么是 AJAX ? AJAX = 异步 JavaScript 和 XML。 AJAX...

  • js之AJAX复习

    异步交互和同步交互 什么是Ajax? Ajax的工作原理。 Ajax包含的技术: Ajax的缺陷: Ajax的核心...

  • 复习jQuery - ajax

    jQuery ajax - ajax() 方法 $.ajax({ url:'oo.php', ...

  • jQuery中Ajax请求的使用和四个步骤示例

    ajax() 方法用于执行 AJAX(异步 HTTP)请求,所有的 jQuery AJAX 方法都使用 ajax(...

  • ajax

    1、什么是ajax? 2、ajax的原理 3、ajax的核心对象 4、ajax的优点: ajax的缺点: 被jqu...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

网友评论

    本文标题:Ajax

    本文链接:https://www.haomeiwen.com/subject/xybqkxtx.html