AJAX

Last updated on a day ago

创建对象

1
变量名 = new XMLHttpRequst();

老版本的ie需要用

1
变量名 =new ActiveXObject("Microsoft.XMLHTTP");

发送请求

发送请求通过opensend方法实现
方法参数如下:

  • open
    • method-string: 请求的类型GET或者POST,字符
    • url-string: 接口链接
    • async-bool: true为异步,false为同步
  • send
    • body-string: 发送给服务器的参数
      示例:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      // 创建对象
      const Http = new XMLHttpRequst();

      // GET请求
      // 传入参数,GET方法、接口链接、异步
      Http.open("GET","http://127.0.0.1:8888"true);
      // 发送请求
      Http.send();

      // POST请求
      // 传入参数,GET方法、接口链接、异步
      Http.open("POST","http://127.0.0.1:8888"true);
      // 设置请求头
      Http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
      // 发送带参数的请求
      Http.send("name=lihua&age=10")

请求头

设置请求头

设置请求头可以通过setRequestHeader()方法实现
方法参数如下:

  • header-string: 头的名称
  • values-string: 头的值
    1
    2
    3
    const Http = new XMLHttpRequst();
    Http.open(......);
    Http.setRequestHeader("Content-type","application/x-www-form-urlencoded");

请求头的作用

可以传递请求的附加信息,如:身份验证、用户代理、缓存行为、请求体格式等

常用请求头

  • host: 域名
  • Content-Type: 媒体类型(MIME类型),用于区分数据类型
    它的格式为:Content-Type: type/subtype ; parameter,主类型/子类型;可选参数(比如字符集等)。参见的有:
    • application/x-www-form-urlencoded
      一般用于表单提交,http请求将会以key1=value1&key2=value2的形式,如果是中文字符或特殊字符会自动进行URL转码。
    • application/xml
      用于接受和发送XML
    • application/json
      用于接受和发送JSON数据
    • text/html
      表示HTML文档,用于传输网页内容
    • multipart/form-data
      用于上传文件的表单提交
  • Connection: 链接类型,发送请求后是否关闭链接
    • kepp-alive: 长链接,每次请求复用已建立好的请求
    • close: 每次请求重新建立一个请求
  • Accept: 指定能够接收的内容类型,常用的有:
    • text/html: HTML文档
    • application/json:JSON 数据
    • application/xml:XML 数据
    • text/plain:纯文本
    • /:任意类型的数据
  • Upgrade-Insecure-Requests: 升级为HTTPS请求,取值‘1’
  • User-Agent: 用户代理(浏览器、主机信息)
  • referer: 页面跳转处(跳转来源),用于检查页面跳转是否合法、防盗链,取值为链接
  • Cookie: 状态保持
  • Authorization: 用于身份验证,常用于发送token