java系统找不到指定文件怎么解决
269
2022-09-16
[Javaweb]Axios异步框架
文章目录
概述Axios基本使用Axios请求方式别名
概述
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
特性:
从浏览器中创建 XMLHttpRequests从 node.js 创建 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF
这一篇文章我们主要使用Axios对原生Ajax的封装特性
Axios基本使用
Axios的使用也很简单:
第一步:我们先把Axios下载下来
npm install axios
当然我们不能直接在web项目中引入一个本地资源,我们可以把里面的核心文件拖入到项目中
第二步:使用axios 发送请求,并获取响应结果
发送 get 请求
axios({ method:"get", url:"(resp){ alert(resp.data);})
发送 post 请求
axios({ method:"post", url:" data:"username=zhangsan"}).then(function (resp){ alert(resp.data);});
axios() 是用来发送异步请求的,小括号中使用 js 对象传递请求相关的参数:
method 属性:用来设置请求方式的。取值为get 或者post。url 属性:用来书写请求的资源路径。如果是get 请求,需要将请求参数拼接到路径的后面,格式为:url?参数名=参数值&参数名2=参数值2。data 属性:作为请求体被发送的数据。也就是说如果是post 请求的话,数据需要作为data 属性的值。
then() 需要传递一个匿名函数。我们将 then() 中传递的匿名函数称为 回调函数,意思是该匿名函数在发送请求时不会被调用,而是在成功响应后调用的函数。而该回调函数中的 resp 参数是对响应的数据进行封装的对象,通过 resp.data 可以获取到响应的数据。
我们简单的使用Axios发送一个请求,将请求参数打印的同时对服务器返回的数据进行呈现: 服务器端:
@WebServlet("/Axios1")public class ServletAxiosDemo1 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("你发送了一个post请求"); String username = request.getParameter("username"); System.out.println(username); response.getWriter().write("hello.Axios~"); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("你发送了一个get请求"); String username = request.getParameter("username"); System.out.println(username); response.getWriter().write("hello.Axios~"); }}
前端:
结果:
Axios请求方式别名
为了方便起见, Axios 已经为所有支持的请求方法提供了别名。如下:
get 请求 : axios.get(url[,config])delete 请求 : axios.delete(url[,config])head 请求 : axios.head(url[,config])options 请求 : axios.option(url[,config])post 请求:axios.post(url[,data[,config])put 请求:axios.put(url[,data[,config])patch 请求:axios.patch(url[,data[,config])
注意 在使用别名方法时, url、method、data 这些属性都不必在配置中指定。
我们拿get、post举例:
例如我们上面代码中的:
axios({ method:"get", url:" }).then((res) => { alert(res.data) })
可以变为:
axios.get("=> { alert(res.data) })
axios({ method:"post", url:" data:"username=zs" }).then((res) => { alert(res.data) })
可以变为:
.post("=> { alert(res.data) })
两者的优缺点: 使用别名的方式阅读性较差,但代码简洁
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~