定制app开发JavaScript 学习笔记(八)前后端交互;Ajax进行前后端交互

目录


 一、前后端

前端:定制app开发用户可以看见的界面,定制app开发我们一般浏览网页时看到的界面,定制app开发展现网页数据给用户看的地方。

后端:定制app开发要将前端的数据存储到数据库中,定制app开发并且把数据库的数据传递给前端。

数据库:定制app开发存储数据的地方。

:定制app开发前端将数据传递给服务端,定制app开发并且能够从服务端接收到返回的数据的过程。

二、前后端接口

前端与后端进行数据交互的统称, 也叫做, 指前端通过HTTP(ajax)请求获取到的数据或者执行的某项操作。 为确保前后端(工程师)的协作沟通, 一般由前端和后端一起来定义接口的规范, 规范的内容一般包含接口的地址, 接口的输入参数输出的数据格式(结构), 最终由后端来实现这些规范, 为前端提供符合规范的接口。

接口文档:一个文本,详细写了服务器的一些信息,包括请求信息,请求方式,携带参数,响应数据等。前端需要按照进行开发。

(详见:)

三、Ajax

1. ajax接口步骤

1.  创建 ajax 对象

        var xhr = new XMLHttpRequest()

2. 配置本次请求信息

        xhr.open(请求方式,请求地址,是否异步)

        请求方式:按照接口文档进行书写
        请求地址:按照接口文档书写,基准地址+请求地址
        是否异步:默认是 true 表示异步请求,选填为false,表示同步请求

3. 注册请求完成事件

        xhr.onload = function () {}

        请求完成:本次请求发送出去,服务器接收到了我们的请求,并且服务器返回的信息已经回到浏览器。

        如何拿到后端返回的数据? 语法:xhr.responseText

4. 把请求发送出去

        xhr.send()

例如:

  1. <script>
  2. //1. 创建一个ajax 对象
  3. var xhr = new XMLHttpRequest()
  4. //2.配置本次请求信息
  5. //请求方式:按照接口文档进行书写
  6. //请求地址:按照接口文档书写,基准地址+请求地址
  7. //是否异步:默认是 true 表示异步请求,选填为false,表示同步请求
  8. xhr.open('GRT', 'http://localhost:8080/test/first', true)
  9. //3. 配置一个请求完成后触发的事件
  10. //请求完成:本次请求发送出去,服务器接收到了我们的请求,并且服务器返回的信息已经回到浏览器
  11. xhr.upload = function () {
  12. //如何拿到后端返回的数据
  13. //语法:xhr.responseText
  14. console.log(xhr.responseText)
  15. console.log('请求完成')
  16. }
  17. //4. 把本次请求发送出去
  18. xhr.send()
  19. </script>

2. 返回为json格式

当后端返回的是json 格式的数据的时候,我们需要进行单独的解析 

语法:JSON.parse(xhr.responseText)

返回值:解析好的 js 格式的数据

  1. <script>
  2. //1. 创建一个ajax 对象
  3. var xhr = new XMLHttpRequest()
  4. //2. 配置本次的请求信息
  5. xhr.open('GRT', 'http://localhost:8080/test/scend', true)
  6. //3. 配置一个请求完成后触发的事件
  7. xhr.upload = function () {
  8. //解析json格式
  9. var res = JSON.parse(xhr.responseText)
  10. console.log(res)
  11. }
  12. //4. 把本次请求发送出去
  13. xhr.send()
  14. </script>

四、请求方式

get 与 post 的区别
GETPOST
偏向获取的语义化偏向提交的语义化
参数是查询字符串参数格式多样,但是需要特殊说明
大小有限制 2KB 左右理论上没有限制
参数位置在地址后面

             参数位置在请求体内

  1. //1. Get请求
  2. var xhr = new XMLHttpRequest()
  3. //需要携带参数
  4. //get请求,直接写在地址后面进行参数的书写
  5. xhr.open('GET','http://localhost:8080/test/third?name=小张小张啊&name=19', true)
  6. xhr.onload = function () {
  7. console.log(JSON.parse(xhr.responseText))
  8. }
  9. xhr.send()
  10. //2. POST请求
  11. var xhr = new XMLHttpRequest()
  12. //需要携带参数
  13. //post请求,不用写在地址后面进行参数的书写
  14. xhr.open('POST','http://localhost:8080/test/third', true)
  15. xhr.onload = function () {
  16. console.log(JSON.parse(xhr.responseText))
  17. }
  18. //注意:当发送POST请求时,并且需要携带参数时,需要进行特殊说明
  19. //语法:xhr.setRequestHeader('content-type',你传递参数的格式)
  20. xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
  21. //send后面()内书写请求体的位置
  22. xhr.send('name=小张小张啊&name=19')

五、案例:登录

分析需求:

问题1: 什么时候进行发送请求?

        点击登录按钮的时候,需要给 form 标签绑定一个表单提交事件。

问题2:需要拿到哪些信息?

        需要拿到用户填写的用户名和密码。

问题3:需要如何发送给后端?

        按照接口文档的规范进行发送。

问题4:请求完成以后,我们需要做些什么?

        根据后端返回的信息,进行一些后续的操作。如果后端返回的是登录成功,那么我们进行页面跳转;如果后端返回的是登录失败,那么我们提示用户错误。

代码详见文章:

 文章参考视频:b站千锋前端学习营:千锋前端JavaScript全套教程_JS零基础完美入门到项目实战https://www.bilibili.com/video/BV1W54y1J7Ed?share_source=copy_web

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发