前端开发

 首页 > 前端开发 > javascript > javascript纯原声ajax基础教程1、创建 ajax 对象2、连接服务器3、发送请求4、接收返回值

javascript纯原声ajax基础教程1、创建 ajax 对象2、连接服务器3、发送请求4、接收返回值

分享到:
【字体:
导读:
          javascript纯原声ajax基础教程 什么是 ajax ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取。 http 请求 首先需要了解 http 请求的方法(GET 和 POST)。 GET...

javascript纯原声ajax基础教程

什么是 ajax

ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取。

http 请求

首先需要了解 http 请求的方法(GET 和 POST)。

GET 用于获取数据。GET 是在 URL 中传递数据,它的安全性低,容量低。

POST 用于上传数据。POST 安全性一般,容量几乎无限。

ajax 请求

ajax 请求一般分成 4 个步骤。

1、创建 ajax 对象

在创建对象时,有兼容问题:

var oAjax = new XMLHttpRequest();   //for ie6 以上var oAjax = new ActiveXObject('Microsoft.XMLHTTP'); //for ie6

合并上面的代码:

var oAjax = null;if(window.XMLHttpRequest){
    oAjax = new XMLHttpRequest();
}else{
    oAjax = new ActiveXObject('Microsoft.XMLHTTP');
}

2、连接服务器

在这里会用到 open() 方法。open() 方法有三个参数,第一个参数是连接方法即 GET 和 POST,第二个参数是 URL 即所要读取数据的地址,第三个参数是否异步,它是个布尔值,true 为异步,false 为同步。

oAjax.open('GET', url, true);

3、发送请求

send() 方法。
oAjax.send();

4、接收返回值

onreadystatechange 事件。当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState 改变时,就会触发 onreadystatechange 事件。

readyState:请求状态,返回的是整数(0-4)。

0(未初始化):还没有调用 open() 方法。

1(载入):已调用 send() 方法,正在发送请求。

2(载入完成):send() 方法完成,已收到全部响应内容。

3(解析):正在解析响应内容。

4(完成):响应内容解析完成,可以在客户端调用。

status:请求结果,返回 200 或者 404。

200 => 成功。

404 => 失败。

responseText:返回内容,即我们所需要读取的数据。需要注意的是:responseText 返回的是字符串。


oAjax.onreadystatechange=function(){    if(oAjax.readyState==4){        if(oAjax.status==200){
            fnSucc(oAjax.responseText);
        }else{            if(fnFaild){
                fnFaild();
            }
        }
    }
};


将以上代码进行封装:


function ajax(url, fnSucc, fnFaild){    //1.创建对象
    var oAjax = null;    if(window.XMLHttpRequest){
        oAjax = new XMLHttpRequest();
    }else{
        oAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }      
    //2.连接服务器  
    oAjax.open('GET', url, true);   //open(方法, url, 是否异步)
      
    //3.发送请求      oAjax.send();      
    //4.接收返回
    oAjax.onreadystatechange = function(){  //OnReadyStateChange事件
        if(oAjax.readyState == 4){  //4为完成
            if(oAjax.status == 200){    //200为成功                fnSucc(oAjax.responseText) 
            }else{                if(fnFaild){
                    fnFaild();
                }
            }
        }
    };
}


最后附上实例:



    
    ajax基础
    点击按钮的时候,读取abc.txt
    
window.onload = function(){    var oBtn = document.getElementById('btn');    var oCon = document.getElementById('con');     oBtn.onclick = function(){         ajax('abc.txt',function(str){             oCon.innerHTML = str;         });     } }

abc.txt 内容:

这是ajax调用的内容1。
这是ajax调用的内容2。
这是ajax调用的内容3。

 


分享到:
JavaScript也有增删改查
JavaScript也有增删改查,我们都知道mysql的增删改查操作,JAVASCRIPT也有类似的增删改查,是针对页面DOM元素的增删改查。下面是实列: 一、基本概念 这部分也就是所谓的“HTML DOM”,所谓HTML DOM也就是Web页面加载规则,是一个规则,也就是网页组成的基本公式。 也就是所有网页都必须按照:……的规则编写,也按照这样的...
比SWFUPLOAD还好用的PLUPLOAD使用教程Plu...
前言:SWFUpload是很早的FLASH上传控件了,很久官方已经不更新了,随着H5出现,诞生了PLUPLOAD这是结合FLASH和H5还有传统表单上传的新控件,今天为大家带来学习内容如下: Plupload有以下功能和特点: 1、拥有多种上传方式:HTML5、flash、silverlight以及传统的。Plupload会自动侦测当前的环境,选择最合适的上传方式,并...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……