zoukankan      html  css  js  c++  java
  • Ajax入门

    什么是AJAX?

    AJAX: 异步的Javascript和XML;

    XMLHttpRequest对象

    //现代浏览器内置XMLHttpRqueset对象;
    
    //IE5 and IE6等用ActiveXObject("Microsoft.XMLHTTP")实现;
    
    //兼容的XMLHttpRqueset对象:
    var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");

    请求

    //规定请求类型、地址、是否异步
    xmlhttp.open(method, url, async);
    //method : get/post
    //url : url
    //async : true/false
    //发送请求 xmlhttp.send(string);
    //string : 仅用于post请求时

    服务器响应

    //responseText 获得字符串形式的响应数据
    xmlhttp.responseText
    
    //responseXML 获得XML形式的响应数据
    xmlhttp.responseXML

    onreadystatechange事件

    //onreadystatechange 储存函数或函数名,readyState改变时触发
    
    //readystate 储存XMLHttpRequest状态(0 - 4)
    0:请求未初始化
    1:服务器连接已建立
    2:请求已接收
    3:请求处理中
    4:请求完成并且响应
    
    //status 状态
    成功:200
    未找到页面:404

    //当readyState == 4 && status == 200 表示响应已ok
    xmlhttp.onreadystatechange = function(){
      if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
        //获得字符串形式的返回值,也可以获得XML形式的数据responseXML
        alert(xmlhttp.responseText)
      }
    }

    封装AJAX

    function getAjax(method, url, fnCall, data){
        //创建兼容的XMLHttpRequest对象
        var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    
        //规定发送形式、地址、异步
        xmlhttp.open(method, url, true);
    
        //发送
        if(method == "POST" || method == "post"){
            xmlhttp.send(data);
        }else{
            xmlhttp.send();
        }
    
        //成功
        xmlhttp.onreadystatechange = function(){
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                //获得字符串形式的返回值,也可以获得XML形式的数据responseXML
                fnCall(eval("("+xmlhttp.responseText+")"));
            }
        }
    }
    
    //
    http://localhost/test.txt在本地服务器
    getAjax("GET", "http://localhost/test.txt", function(msg){ alert(msg); });
  • 相关阅读:
    20145204《信息安全系统设计基础》期中总结
    20145204&20145212信息安全系统实验一报告
    k8s运维记
    服务器免密登录
    非正常关闭vi编辑器产生swp文件怎么删除
    centos7 安装 python3 、docker、 docker-compose 脚本
    数据库高可用方案
    centos7安装docker-compose报错解决办法
    centos7 一键安装python3 --转发
    安装docker-compose的两种方式
  • 原文地址:https://www.cnblogs.com/jununx/p/3361823.html
Copyright © 2011-2022 走看看