zoukankan      html  css  js  c++  java
  • 使用xmlHttprequest 发送异步请求(Ajax核心对象)

    1.创建XMlHtttpRequest对象

      因为浏览器不同载入xmlHttpRequst的方式也不一样

      IE中:var  xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");

      其他浏览器:var  xmlhttp=new  XMLHttpRequest();

     

    2.对onreadystatechange事件追加方法

    当xmlhttp.readystate 状态改变时会自动触发这个事件

    readystate可能出现的五种状态:

    0:未初始化;XMLHttpRequest已经创建,但还未调用Open()方法;

    1:载入;此阶段Open()方法已经执行,正在使用send()方法向服务器发送请求;

    2:载入完成;send()执行结束,此时已获取响应的原始数据,但还不能在客户端使用;

    3:交互;解析获取到的响应数据,根据响应头部的MIME类型把解析到的数据转换成ResponseText,ResponseXML,ResponseBody能存取的格式的数据。为客户端调用做准备。

    4:完成;解析结束,直接可以通过XMLHttpRequest响应的属性,获取响应的数据;

    xmlhttp.status:

    1xx:信息响应类,表示接收到请求并且继续处理 
    2xx:处理成功响应类,表示动作被成功接收、理解和接受 
    3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 
    4xx:客户端错误,客户请求包含语法错误或者是不能正确执行 
    5xx:服务端错误,服务器不能正确执行一个正确的请求

    readystate 与 status的区别

    readystate是表示XMLHttpRequest发送请求的状态,是主体。status是表示在相应的请求状态下,具体的响应状态。readystate体现客户端发送请求的状态,status体现服务器具体的响应状态。

    代码:

    xmlhttp.onreadystatechange = function () {

    if (xmlhttp.readyState == 4) {
    if (xmlhttp.status == 200) {
    var text = xmlhttp.responseText;//获取响应数据
    alert(text);}

       }

    }

    2.创建Http请求,发送请求

       参数有5个:method:是post还是get请求;url:请求的地址 ; isAsync:是否异步发送请求;user:用户名;password:密码

       xmlhttp.Open("POST",URL,isAsync);

    3.自定义请求头

      xmlhttp.setRequestHeader("Content-Type", "textxml"); 

    4.发送请求

      xmlhttp.send("<Method>GetData</Method>");

      

    这只是初学者的理解,欢迎斧正!

  • 相关阅读:
    FastDFS安装配置过程中出现错误提示"/home/yuqing/fastdfs" can't be accessed, error info: No such file or directory
    dubbo-monitor安装监控中心,管理控制台安装网页一直访问不到,解决bug的方式记录
    dubbo-monitor安装监控中心,管理控制台安装
    zookeeper伪分布式集群安装
    zookeeper单节点安装
    JedisCluster操作redis集群demo
    Redis Cluster集群的搭建
    redis3.0.6安装配置
    Windows注册表中修改CMD默认路径
    eclipse中使用mybatis-generator逆向代码生成工具问题解决记录
  • 原文地址:https://www.cnblogs.com/CrazyShun/p/4835471.html
Copyright © 2011-2022 走看看