Ajax中get请求与post请求区别

246 阅读2分钟

Ajax组成部分


Ajax(阿贾克斯):全称 Asynchronous Javascript And XML(异步的js与xml) 说人话:用js发送异步的网络请求。A : Asynchronous 异步。同步 :指的是代码按照从上往下顺序执行。异步 :代码不会立即执行,而是要等一会儿执行。J:JavascriptA :And。X : XMLXMLHttpRequestXML : 解决跨平台数据传输。在JSON没有出来以前, 网络传输主要以XML格式数据为主。 后来JSON问世,逐渐取代XML。 但是由于ajax技术出来的比json早,因此xml这个称呼一直保留至今。

Ajax工作流程

  1. ajax: 在页面不刷新的情况下向服务器请求数据
  2. XMLHttpRequest: http请求对象,负责实现ajax技术(小黄人)
  • 创建XMLHttpRequest对象(小黄人相当于黄袍加身的外卖小哥)
  • 设置请求(告诉小黄人服务器地址)
  • 发送请求(小黄人去指定地址取外卖(数据)*2G网速:走路去的 ;*3G网速:骑单车去的;*4G网速:骑电动车去的)
  • 注册回调函数(小黄人把取回的外卖送到你家门口)

get请求方式

 //(1).实例化ajax对象
    let xhr = new XMLHttpRequest()
    //(2).设置请求方法和地址
    //get请求的数据直接添加在url的后面 格式是 url?key=value
    xhr.open('get', '接口url')
    //(3).发送请求
    xhr.send()
    //(4).注册回调函数
   /* 这个函数不是立即执行的,而是等服务器把数据响应返回才会执行(PS:什么时候执行取决于你的网速快慢) */
    xhr.onload = function() {
      console.log(xhr.responseText)
    }

post请求方式

 //(1).实例化ajax对象
    let xhr = new XMLHttpRequest()
    //(2).设置请求方法和地址
    xhr.open('post', '')
    //(3).设置请求头(post请求才需要设置)
    xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded')
    //(4).发送请求 : 参数格式  'key=value' 
    xhr.send('key=value')
    //(5).注册回调函数
    xhr.onload = function () {
      console.log(xhr.responseText)
    }

get请求与post请求区别

  1. 传参方式不同
  • geturl后面拼接(请求行)
  • post在请求体传参
  1. 大小限制不同
  • get有大小限制,不同浏览器大小限制不同。一般2-5 MB
  • post没有大小限制 3.安全性不同
  • get参数直接暴露在url,不安全(一般查询数据都是get)
  • post参数在请求体中,更加安全(一般登录注册必须是post)
  1. 传输速度不同
  • get传输速度快
  • post传输速度慢

其他请求方法

  • putpacth区别
    • 全局更新 : put
    • 局部更新: patch
请求方式描述特点
post一般用于新增数据(提交数据)请求体传参
get一般用于查询数据(查询数据)请求行(url)传参
delete一般用于删除数据请求体传参
put一般用于更新全部数据请求体传参
patch一般用于更新局部数据请求体传参