axios的post方法实现web工程的异步请求

本文介绍了如何使用axios库在前端发送POST请求,包括两种不同的写法,并详细解析了后端如何获取并处理这些参数。同时,展示了在后端处理数据后如何以JSON格式返回到前端,以及前端如何通过回调函数接收并打印这些数据。内容涵盖了HTTP请求、axios用法以及前后端数据交互的基本流程。
摘要由CSDN通过智能技术生成
使用axiox实现post请求:
axios({
        method:"post",
        url:"http://localhost:8080/hello/test",
    	data: {
        	key1: value1,
            key2: valeu2
       	}
    })

method:定义请求方法,指定请求方法是post方法

url:定义请求路径,使用完整路径,后面不需要像get请求一样加上键值对来传递参数

data:里面以键值对的形式来定义键值对,不会让敏感信息出现在请求地址中

另一种写法:
axios.post(
    'http://localhost:8080/hello/test',
    {
        key1: value1,
        key2: valeu2
    })

如何在后端获取到post请求提交的参数:

BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
String string = reader.readLine();
JSONObject jsonObject = JSONObject.parseObject(string);
String value01 = jsonObject.getString("key1");  //第一个参数
String value02 = jsonObject.getString("key1");  //第二个参数


使用axios实现post请求并从服务端接收数据

使用的axios实现的数据提交:封装在一个js的函数中,并绑定在一个按钮中,提交input中的值到后台的servlet中

function find02() {
    axios({
        method:"post",
        url:"http://localhost:8080/hello/test",
    	data: {
        	key1: value1,
            key2: valeu2
       	}
    }).then(function (resp){
        let a = resp.data;
        console.log(a);
    })
}
document.getElementById("submit01").addEventListener('click', find02);

另一种写法:
function find03() {
    axios.post(
    'http://localhost:8080/hello/test',
    {
        key1: value1,
        key2: valeu2
    }).then(function (resp){
        let a = resp.data;
        console.log(a);
    })
}
document.getElementById("submit01").addEventListener('click', find02);

后端处理之后将数据返送到前端的方式:
response.setContentType("text/json;charset=utf-8");
String jsonString = JSON.toJSONString(要发往axios中的数据);
response.getWriter().write(jsonString);
  • 关于参数的传递,需要使用setContentTyp方法将字符编码格式改为json和utf-8;
  • 将在后端获取到的对象集合转化为json字符的形式;
  • 将已经转化为json数据类型的数据传递给回调函数

resp作为回调函数的参数,由后端传递而来,里面是一个由数据库获取到的对象集合,利用其中的数据可以在js文件中对前端页面进行修改,实现页面的局部刷新。由与后端的servlet数据已经传输到前端,不需要再将获取到的数据存到request域中去,也不需要再经转发到HTML或者JSP页面进行从新加载。

相关链接:使用axiox实现get请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值