前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)

写在开始

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第1张图片

学习完了前端三件套(HTML、CSS、JavaScript),

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第2张图片

在进行框架学习之前,

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第3张图片

我们还需要学习一些前置知识

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第4张图片

在当下,我们将初步进行“前后端交互”、感知“前端工程化”;

在未来,它将伴随,并推进,整个的前端框架学习过程;

……

我们继续跟随黑马网课,打下框架学习基础。本次学习的是:

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第5张图片

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第6张图片

我是Capybara,您的前端学习伙伴,高级网课品鉴官,前端学习测评家

不达目的不放弃,追逐理想的过程本身就难能可贵。

AJAX入门——让数据“活”起来

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第7张图片

AJAX 概念和 axios 使用

浏览器大家不陌生,服务器可以暂时理解为一台“提供数据”的电脑(一台二十四小时不关机的电脑)。

我们可以在浏览器的网页中使用AJAX相关对应的代码,

运行时,将会发出一次“请求”(让服务器满足我的要求——例如我要一份省份列表数据),

数据不再直接嵌在代码里,而是从服务器返回,

因此称数据“活”起来了。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第8张图片

如何使用AJAX —— 可以使用封装好的axios库

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第9张图片

axios语法(使用到promise,后续讲解)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第10张图片

需要使用到网络地址

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第11张图片

直接点击网址可在浏览器访问到,返回一个对象结构的json字符串

message是提示信息,list才是省份列表数据

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第12张图片

打印返回结果result,result为一个对象,其中data属性为服务器返回真正数据。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第13张图片

我们可以通过result.data.list拿到省份列表数据

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第14张图片

获取到数据后,数组转字符串(join方法)并插入换行符(
),

便可展示到元素上

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第15张图片

实践代码:





  
  
  
  AJAX概念和axios使用



  
  

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第16张图片

认识 URL

为什么要认识URL呢?

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第17张图片

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第18张图片

URL的组成:协议 + 域名 + 资源路径

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第19张图片

协议——规定了浏览器和服务器之间传输数据的格式

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第20张图片

域名——指出访问的是哪一台服务器电脑

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第21张图片

资源路径——标识访问文件在服务器电脑当中的具体位置

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第22张图片

尝试获取新闻列表数据

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第23张图片

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第24张图片

URL 查询参数

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第25张图片

在axios中,查询参数写到params选项中

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第26张图片

不同pname,将返回不同数据:

福建省

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第27张图片

辽宁省

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第28张图片




  
  
  
  查询参数


  
  

日常常见的功能,比如设置籍贯,可以选择省份,城市,地区,三级选择。

本案例选择省份和城市,展示地区。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第29张图片

要携带多个参数

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第30张图片

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第31张图片

对象增强写法(ES6):变量名和属性名相同时,可简写

params: {

        pname,

        cname

}

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第32张图片

实践代码:





  
  
  
  案例_地区查询
  
  



  


地区列表:

  • 东城区

常用请求方法和数据提交

前面都是从服务器“拿”(获取)数据,

怎样把数据“存”(提交、保存)到服务器呢?

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第33张图片

什么情况需要提交数据?

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第34张图片

注意区分:params和data

method不区分大小写,get可以省略,属性值为字符串,记得加上引号

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第35张图片

数据提交场景——注册账号

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第36张图片

实操代码:





  
  
  
  常用请求方法和数据提交



  
  
  


重复提交相同数据,会提示账号被占用:

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第37张图片

总结

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第38张图片

axios 错误处理

想要把错误信息展示给用户(用户不会去查看控制台)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第39张图片

在axios的then方法后使用catch方法,

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第40张图片

当出现axios错误时,控制台一共会出现两段错误信息,

第一段(上面一段)为浏览器报错,它是没有服务器返回的错误原因

不管它

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第41张图片

而在下面一段(第二段)是axios捕获(catch)到的错误信息

是一个对象,

在response属性的data属性,有报错原因

我们要取到它,再反馈给用户

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第42张图片

通过catch方法捕获错误信息(错误信息传至形参error)

(错误信息不再爆红,之前爆红 显示Uncaught(in pormise),未捕获)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第43张图片

把错误原因取出error.response.data.message

用提示框提示用户alert

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第44张图片

HTTP协议-报文

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第45张图片

报文中有一些自动生成的,

也有一些对应着axios的选项设置,比如post方法,url,

其中Content-Type: application/json规定的是这次请求携带的数据类型

一个空行后面,就是携带的json字符串了

axios在运行时会把代码中的data对象转成json字符串携带到请求报文中。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第46张图片

请求报文的组成部分/格式

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第47张图片

自己(程序员)如何查看这些请求信息?——浏览器

发送请求之后,

网络-->fetch/XHR-->选中某一个请求-->标头(看请求头,载荷看请求体)-->点击查看源代码(点击后变成查看解析结果)

部分内容(协议 http://)经浏览器格式化

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第48张图片

总结:

报文一共有四个部分:

请求行、请求头、空行、请求体

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第49张图片

请求报文-错误排查

在登录时,报错“用户名或密码错误”,如何排查错误?

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第50张图片

把input框type改成text可以看到密码

查看请求报文,发现所传密码有误

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第51张图片

原来是在代码中,获取密码框出现错误

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第52张图片

HTTP 协议-响应报文

响应报文也分成四部分,

其中响应行中携带HTTP响应状态码

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第53张图片

响应状态码表示请求是否成功

关注2和4开头的(200、404)

客户端错误,客户端可以理解为浏览器

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第54张图片

通过代码发送请求后,这次要查看的是“响应”标头

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第55张图片

响应头(携带额外信息)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第56张图片

响应体

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第57张图片

实操代码:





  
  
  
  HTTP协议_响应报文



  
  
  


总结

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第58张图片

接口文档

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第59张图片

文档内容与代码相对应

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第60张图片

application/json是

后端告诉我们,这一次提交的请求体数据需要json字符串

我们传入的不是data对象吗?

axios源码发现data属性值为对象,内部会把对象转成json字符串,携带给服务器

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第61张图片

已注册,实操登录

对照接口文档,填入相关信息:url、请求方法、请求体数据

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第62张图片

没有使用then方法捕获,但可以在浏览器中直接查看响应

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第63张图片

查看请求载荷(请求体)(需要查看源代码),发现已经转成json字符串。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第64张图片

总结:接口文档是后端提供的描述接口的文章

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第65张图片

案例-用户登录

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第66张图片

 面对嵌套多层的对象,可以在浏览器中找到需要的属性并右键,选择复制属性路径

error. 然后粘贴

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第67张图片

实操代码:





  
  
  
  案例_登录
  
  
  
  
  
  
  
  



  

欢迎-登录

提示信息

使用了bootstrap

警告框(Alert) · Bootstrap v5 中文文档 v5.3 | Bootstrap 中文网

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第68张图片





  
  
  
  案例_登录_提示消息
  
  
  
  
  
  
  
  



  

欢迎-登录

form-serialize 插件

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第69张图片

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第70张图片

打印获取到的表单数据(表单元素的值)

表单元素需要设置name属性,name属性回作为返回对象的属性名

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第71张图片

配置对象中的hash属性用于设置获取数据的结构:

为true时,获取数据为JS对象;

为false时,获取数据为查询字符串。

一般使用true,表单获取的数据会被提交到服务器,将被携带在请求体,一般要求传一个对象。

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第72张图片

empty属性设置是否获取空值(表单元素的值为空)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第73张图片

如果不获取空值,而表单元素的值均为空,则返回空对象(不是null)

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第74张图片

登录案例结合serialize插件





  
  
  
  案例_登录_插件使用
  
  
  
  
  
  
  
  



  

欢迎-登录

前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)_第75张图片

我是Capybara,期待你的点赞支持。

你可能感兴趣的:(框架前置,前端,node.js,学习,ajax,javascript,前端框架)