AJAX(JavaScript版本)

AJAX(JavaScript版本)

码农世界 2024-05-27 前端 75 次浏览 0个评论

目录

一.AJAX简介

二.XMLHttpRequests对象

2.1XMLHttpRequests对象简介

2.2创建XMLHttpRequests对象

2.3定义回调函数

2.4发送请求

 2.5XMLHttpRequests对象方法介绍

2.6XMLHttpRequests对象属性

三.向服务器发送请求

3.1发送请求

3.2使用GET还是POST

3.3使用GET来发送信息

3.4POST请求

一.AJAX简介

服务器向浏览器传输数据时,浏览器需要跳转到一个新的“URL”或者“重新渲染网页”,才可以接收来自服务器的数据,这对于现代用户来说是不友好的,因为观感极差

那么有没有一种办法可以使浏览器接收服务器的数据,并且不更新网页只是动态的更新网页的部分数据呢?

随着这个问题“AJAX”应运而生,使用“AJAX”可以做到以下事情:

  • 不刷新页面更新网页
  • 在页面加载后从服务器请求数据
  • 在页面加载后从服务器接收数据
  • 在后台向服务器发送数据

    二.XMLHttpRequests对象

    2.1XMLHttpRequests对象简介

    XMLHttpRequests对象是AJAX的基石

    使用XMLHttpRequests对象允许前端向后端发送一个数据请求用来获得数据

    这个数据请求的过程可以分为下面"四大步”:

    • 创建XMLHttpRequests对象
    • 定义回调函数
    • 打开XMHttpRequests对象
    • 向服务器发送请求

      2.2创建XMLHttpRequests对象

      创建XMLHttpRequests对象的语法:

      var myXMLR = new XMLHttpRequests();

      2.3定义回调函数

      回调函数是作为参数传递给另一个函数的函数

      定义回调函数我们可以使用XMLHttpRequests对象提供的“onload()”函数,该函数用来指定当请求响应后应该执行的函数

      xhttp.onload = function(){

              //当相应准备就绪时要做什么

      }

      2.4发送请求

      向服务器发送请求,我们可以使用“open()”方法来打开XMLHttpRequests对象,再使用“send()”方法来发送请求

      xhttp.open("open","ajax_info.txt");

      xhttp.send();

       2.5XMLHttpRequests对象方法介绍

      方法描述
      new XMLHttpRequests()创建新的XMLHttpRequests对象
      abort()取消当前请求
      getAllResponseHeaders()返回头部信息
      getReponseHeader()返回特定的头部信息
      open(method,url,async,user,psw)

      规定请求

      • method:请求类型GET或POST
      • url:文件位置
      • async:true(异步)或false(同步)
      • user:可选的用户名
      • psw:可选的密码
      send()向服务器发送请求,用于GET请求
      send(string)向服务器发送请求,用于POST请求
      setRequestHeader()将标签/值对添加到要发送的标头

      2.6XMLHttpRequests对象属性

      属性描述
      onload定义接收到(加载)请求时要调用的函数
      onreadystatechange

      定义当readyState属性发生变化时调用的函数

      readyState

      保存XMLHttpRequests的状态

      • 0:请求未初始化
      • 1:服务器连接已建立
      • 2:请求已收到
      • 3:正在处理请求
      • 4:请求已完成响应且已就绪
      responseText

      以字符串形式返回响应数据

      responseXML以XML数据返回响应数据
      status

      返回请求的状态号

      • 200:"ok"
      • 403:"Forbidden"
      • 404:"Not Found"
      statusText返回状态文本,比如("OK"、"Not Found"等)

      ps:“当readyState为4且status为200时,响应就绪”

      三.向服务器发送请求

      3.1发送请求

      在上面我们已经提到过,可以使用“open()”和“send()”方法搭配向服务器发送请求

      open(method,url,async,user,psw)

      规定请求

      • method:请求类型GET或POST
      • url:文件位置
      • async:true(异步)或false(同步)
      • user:可选的用户名
      • psw:可选的密码
      send()向服务器发送请求,用于GET请求
      send(string)向服务器发送请求,用于POST请求

      3.2使用GET还是POST

      在大多数情况下,GET比POST更简单更快

      但在以下情况请考虑使用POST:

      • 缓存文件不是选项(更新服务器上的文件或数据库)
      • 向服务器发送大量数据(POST无大小限制)
      • 发送用户输入(可包含未知字符),POST比GET更强大更安全

        3.3使用GET来发送信息

        如果想要使用GET来发送信息,可以在URL中构造信息:

        xhttp.open("GET","demo.asp?fname=Bill&&name=Gates",true);
        xhttp.send();

        3.4POST请求

        一条简单的POST请求:

        xhttp.open("POST","demo_post.asp",true);

        xhttp.send();

        如果需要像HTML表单那样POST数据,请通过setRequestHeader()添加一个HTTP头部,并在send()方法中定义要发送的数据

        例如:

        xhttp.open("POST","ceshi.asp",true);
        xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
        xhttp.send("fname=Bill&&name=Gates");

转载请注明来自码农世界,本文标题:《AJAX(JavaScript版本)》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,75人围观)参与讨论

还没有评论,来说两句吧...

Top