ajax的基本使用

作者: 臭臭臭魁 | 来源:发表于2017-04-13 10:40 被阅读51次

一、XMLHttpRequest对象

在ie浏览器里,XHR对象是通过ActiveX对象实现的,而且他有三个不同版本的XHR对象,MSXML.XMLHttp、MSXML.XMLHttp.2.0、MSXML.XMLHttp.3.0,兼容ie7以前的版本的XHR对象的创建:

 //用于ie7之前的版本
function createXHR(){
  if (typeof arguments.callee.activeXString != "string"){
      var versions = [ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0",
                       "MSXML2.XMLHttp"];
   for (var i = 0; i < versions.length; i++){
      try {
          new ActiveXObject(versions[i]);
          arguments.callee.activeXString = versions[i];
          break;
          } catch (ex){}
    }
  return new ActiveXObject(arguments.callee.activeXSting);
}

如果要支持高版本的浏览器,上面的代码可以舍弃掉,在上面的函数里加上对原生XHR对象的支持,代码如下:

function createXHR() {
    if (typeof XMLHttpRequest != 'undefined'){
        //检测XHR对象是否存在,如果存在则返回它的新实例
        return new XMLHttpRequest();
    } else if ( typeof ActiveXObject != "undefined"){
        //如果原生的XHR对象不存在,则检测ActiveX对象
        if (typeof arguments.callee.activeXString != "string"){
            var versions = [ "MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0",
            "MSXML2.XMLHttp"];
            for (var i = 0; i < versions.length; i++){
                try {
                    new ActiveXObject(versions[i]);
                    arguments.callee.activeXString = versions[i];
                    break;
                } catch (ex){}
            }
            return new ActiveXObject(arguments.callee.activeXSting);
        }
    } else {
        //如果两个都不存在,则抛出一个错误
        throw new Error("No XHR object available");
    }
}

用下面的代码就可以创建兼容的XHR对象了

var xhr = createXHR();
//创建兼容ie的xhr对象

2、XHR的用法:

xhr.open("get","ab.php",false/true);

1、这段代码会向ab.php发送一个get请求,open方法并不会发送一个真实的请求,而是启动一个请求以备发送,要想发送请求,必须调用send方法:

xhr.send(null);

1、send接收一个参数,请求主题发送的数据,如果没有则填写null。
2、请求发送完成后,就要接收来自服务器的响应:

//接收响应的函数
xhr.onreadystatechange = function() {
//判断状态码,我们只对readyState=4和status=200感兴趣,所以只判断这两个
    if (xhr.readyState == 4 && xhr.status == 200) {
//如果状态码正确,则简单console.log
        console.log(xhr.responseText);
    }
}

这样一个简单的ajax就完成了,本地服务器环境是用wampserver搭建的。最后附上后台php的简单代码

<?php
 $arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
 $result=json_encode($arr);
 $callback=$_GET['callback'];
 echo $callback."($result)";
?>

这是一个最简单的ajax请求,复杂的请求也是在这个基础上完成的。
备注:本文ajax请求都没有跨域,

相关文章

  • 解决ajax获取数据的问题

    解决ajax获取数据的问题 在使用ajax的过程中,需要注意多个环节 ajax的基本使用方式 通过ajax未得到数...

  • ajax基本使用

  • Ajax基本使用

    get1.原生 2.jQuery post1.原生 2.jQuery XMLXML文件格式 原生 jQuery j...

  • Ajax基本使用

    一. 初步使用 服务器端操作 在服务器端初始化依赖 在 ajax-server 目录下,新建名为 app.js 的...

  • Ajax 的基本使用

    一、同步交互与异步交互 客户端想服务器端发送请求,直到服务器端进行响应,这个过程中,用户是不能做任何其他事情的(等...

  • ajax的基本使用

    一、XMLHttpRequest对象 在ie浏览器里,XHR对象是通过ActiveX对象实现的,而且他有三个不同版...

  • AJAX的基本使用

    一、使用方法   使用 AJAX 的过程可以类比平常我们访问网页过程 二、readyState状态描述   由于 ...

  • Ajax基本使用一

    Ajax是Asynchronous JavaScript and XML的缩写,这一技术能够向服务器请求额外的数据...

  • Ajax基本使用二

    前后端互相: php: 如何从后端获取数据操作前端: (忽视ajax部分代码,不想重新写了,后端仅传送了个5过来)...

  • 六、Vue.js

    一、发送AJAX请求 1.简介 2,使用axios发送ajax请求 2.1安装axios并引入 2.1基本用法 3...

网友评论

    本文标题:ajax的基本使用

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