zoukankan      html  css  js  c++  java
  • 原生Ajax写法(GET)

     ajax的GET提交方式的原生代码:

        var xhr = null;
        if(window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else if(window.ActiveXObject){
            xhr = new ActiveXObject()
        }else{
            xhr = null;
        }
        if(xhr){
            xhr.open('GET','../data/data.json');
            xhr.onreadystatechange = function(){
                if(xhr.readyState == 4 && xhr.status == 200){
                    alert(eval("("+xhr.responseText+")").result);
                    xhr = null;
                }
            }
            xhr.send(null);
        }

    XMLHttpRequest() 这个对象可以在不重新加载页面的情况下从后台获取数据,支持的浏览器有IE7+、Firefox、Chrome、Safari 以及 Opera

    ActiveXObject(“Microsoft.XMLHTTP”) 这个对象是针对老式ie浏览器的

    onreadystatechange事件 当readyState的值发生改变时触发此事件

    open() 这个方法有三个参数,open("提交方式 get/post","资源的地址",异步或者同步 true/false);

    readyState 准备状态

    0 (未初始化)对象已建立,但是尚未初始化(尚未调用open方法)

    1(初始化)已调用send()方法,正在发送请求

    2(发送数据)send()方法调用完成,但是当前的状态及http头未知

    3(数据传送中)已接收部分数据,因为相应及http头不全,这时通过responseText获取部分数据会出现错误

    4(完成)数据接收完成,此时可以通过responseText获取完整的数据

    status 请求状态 

    200(成功)

    404(没有发现文件)

    500(服务器内部错误)

    responseText 请求成功后获取数据

  • 相关阅读:
    Beyond Compare 4 过期操作
    python2 批量转 python3
    【JavaScript】为什么javascript是单线程
    Java之花样玩枚举
    OpenSSL
    OpenSSL和OpenSSH以及私有CA的实现
    Python-线程同步
    Zookeeper基础
    pycharm中使用git以及多分支结构
    BZOJ 4771 主席树+倍增+set
  • 原文地址:https://www.cnblogs.com/chefweb/p/6039264.html
Copyright © 2011-2022 走看看