美文网首页
XMLHttpRequest对象

XMLHttpRequest对象

作者: Sune小叶子 | 来源:发表于2018-04-28 10:10 被阅读0次

1.取色网站:http://www.colorzilla.com/gradient-editor/

XMLHttpResquest对象

IE7之前的老的浏览器并不能支持XMLHttpRequest()这个构造函数,但是IE5 IE6里面浏览器可以模拟这个构造函数(在IE5 IE6里面使用的是ActiveX对象):

    if(window.XMLHttpResquest === undefined){

        window.XMLHttpResquest = function(){

            try{
                //如果可以使用ActiveX对象最新版本
                return new ActiveXObject('Msxml2.XMLHTTP.6.6')
            }
            catch (e){

                try{

                    //否则退回交旧版本
                    return new ActiveXObject( 'Msxml2.XMLHTTP.3.0' )
                }
                catch (e1){
                    
                    throw new Error('XMMLHttpRequest is not find')
                }
            }
        }

    }
  

一个HTTP请求包含4个部分

  • HTTP请求方法或动作
  • 正在请求的URL
  • 一个可选请求头集合,可能包含验证信息
  • 一个可选的请求主体

服务器返回的HTTP请求包含3部分

  • 一个数字或文字组成的状态码,用来显示请求成功或者失败
  • 一个响应头集合
  • 响应主体
    var request = new XMLHttpResquest();
    request.open( methods , URL );
  • 当发起一个HTTP请求时,首先会实例化一个XMLHttpResquest()对象,第一步就是调用他的open()属性,来指定HTTP请求的方法和URL
  • request.open( methods , URL )
    1. open含三个参数,第一个用来说明HTTP请求的方式
    2. 请求方式可以是GET POST DELETE HEAD PUT OPTIONS,虽然请求方式不区分大小写但是一般采用大写来匹配HTTP请求
    3. 第二个参数用来指定请求路径
    4. 第三个参数可选
  • 如果有请求头的话,请求的下一个进程就是设置请求头
    1. request.setRequestHeader('Content-type' : 'text/plain')
    2. 或者还有一些参数等
    3. 如果对相同的头调用多次setRequestHeader()方法,后面的不会将前面的覆盖,只会在HTTP请求头中包含多个请求头副本或者是把请求头指向多个值
    4. 有一些头是我们无法人为添加,而XMLHttpResquest对象会自动添加到请求头里面的,目的是为了防止伪造他们
  • 发起HTTP的最后一步是,指定可选的请求头主体并向服务器发送它,使用send()方法
    1. request.send(null)
    2. get请求是绝对没有请求主体的,所以通常设置为null或者省略这个参数,但是post通常会有请求主体,并且配合setRequestHeader()来设置对应的请求头
  • 注意:setRequestHeader()一定是在open()之后send()之前

相关文章

  • 原生ajax

    XMLHttpRequest 对象   XMLHttpRequest对象是ajax的基础,XMLHttpRequ...

  • XMLHttpRequest对象

    1.取色网站:http://www.colorzilla.com/gradient-editor/ XMLHttp...

  • XMLHttpRequest对象

    XMLHttpRequest对象的创建var xhr=null;if(window.XMLHttpRequest)...

  • XMLHttpRequest对象

    可以称之为 XHR ,在使用这个对象之前,首先要实例化一个XHR对象。 var request;if(window...

  • XMLHttpRequest对象

    XMLHttpRequest对象 更新于 2016.04.10 XHR的用法 open方法 第一个调用的方法是op...

  • XMLHttpRequest 对象

    简介 AJAX是Asynchronous JavaScript and XML的缩写,指的是通过JavaScrip...

  • XMLHttpRequest对象

    一、创建XMLHttpRequest 二、XHR的使用 open() onreadystatechange ()创...

  • Ajax基础

    Http请求 XMLHttpRequest对象 1)、request = new XMLHttpRequest()...

  • AJAX应用的五个步骤

    1.建立xmlHttpRequest对象 if(window.XMLHttpRequest) { xmlHttp ...

  • AJAX

    步骤一:创建XMLHttpRequest对象 variable=new XMLHttpRequest...

网友评论

      本文标题:XMLHttpRequest对象

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