• XMLHttpRequest 对象


    1.XMLHttpRequest 对象:它可以异步从服务器端获取txt或者xml数据 json

    ·创建对象:var request=new XMLHttpRequest();

    ie低版本:=new ActiveXObject("Mircosoft.XMLHTTP");

    ·初始化request.open("get","处理程序URL",true):url不能包含中文;true异步、false同步

     encodeURIComponent("中文"),url中的参数(中文,其他)需要编码

    ·注册事件,回调函数request.onreadystatechange=function();

    在回调函数中接收if(readyState==4)  request.responseText;

    ·发送请求request.send();

    readyState属性:指出了XMLHttpRequest对象在发送/接收数据过程中所处的几个状态。

    0:未初始化。new完后还没有open

    1:已打开。对象已经创建并初始化,但还未调用send方法

    2:已发送。已经调用send 方法,但该对象正在等待状态码和头的返回;

    3:正在接收。已经接收了部分数据,但还不能使用该对象的属性和方法,因为状态和响应头不完整;

    4:已加载。所有数据接收完毕

    方法:

    abort 取消请求

    open 需要使用多个参数,第一个设置方法属性,第二个设置目标URL,第三个指定是同步(false)还是异步(true)发送请求

    send  发送请求到服务器

    setRequestHeader        添加自定义HTTP头到请求

    getAllResponseHeaders        获取HTTP响应头的整个列表

    getResponseHeader      仅获取指定的HTTP响应头

    属性:

    Onreadystatechange(事件)    返回或设置异步请求的事件处理程序

    readyState  返回状态码:0:未初始化;1:打开;2:发送;3:正在接收;4:已加载

    responseText       使用字符串返回HTTP响应

    responseXML    使用XML DOM对象返回HTTP响应

    status         返回HTTP状态码

    ajax get请求要注意的问题

    1区分大小写

    2请求路径中不能有中文

    3 url传参数:有中文或者特殊符号,要进行url编码encodeURIComponent();QueryString会自动解码

    4判断服务器是否有异常   readyState 是XMLHttpRequest的状态(0-5)  status 是http的状态 状态码

    5解决每次get请求的时候读取缓存问题 

    .meta设置

    <meta http-equiv="pragram" content="no-cache"> 禁止浏览器从本地缓存中调阅页面。网页不保存在缓存中,每次访问都刷新页面。
    <meta http-equiv="cache-control" content="no-cache, must-revalidate"> 重新加载页面
    <meta http-equiv="expires" content="0"> 网页在缓存中的过期时间为0,一旦网页过期,必须从服务器上重新订阅。

    ·url参数中加随机数 

    ·请求头中加request.setRequestHeader("If-Modified-Since", "0");注意要在open之后加。

  • 相关阅读:
    【BNUOJ 4358】 左手定则
    【NOIP】关押罪犯
    【数算A】表达式·表达式树·表达式求值
    【POJ1679】The Unique MST
    【数算A】舰队、海域出击!
    【NOI2014】动物园
    【POJ1308】&&【HDU1272】Is It A Tree && 小希的迷宫
    【NOI2002】银河英雄传说
    html5之本地存储localStorage示例
    html5之应用缓存示例
  • 原文地址:https://www.cnblogs.com/qlbk/p/3101939.html
Copyright © 2020-2023  润新知