Axios异步框架和Json数据格式

一.Axios异步框架

对原生的Ajax进行封装,简化书写。

给大家提供一下axios的源码:

链接:https://pan.baidu.com/s/1ZSrUBe0B4dIq7d6NpUzqOQ

提取码:gr86

将源码粘贴到项目之中。

1.基础使用

首先单独创建一个Servlet:

java 复制代码
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/AxiosServlet")
public class Axios_Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
       String method =req.getMethod();
       System.out.println(method+"方法已启动~");

       String username= req.getParameter("username");
       System.out.println(username);

       resp.setContentType("text/html;charset=UTF-8");
       resp.getWriter().write("Axios启动~");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doGet(req, resp);
    }
}

引入外部js:

javascript 复制代码
 <script src="js/axios-0.18.0.js"></script>

如果是get方法,则参数直接写进Url:

javascript 复制代码
      axios({
        //大括号即为js对象
        method:"get",
        url:"http://localhost:8080/Ajax_S1_war/AxiosServlet?username=jsl"
      }).then(function (resp){
        alert(resp.data);
      })

如果是post方法,则把参数写进data域:

javascript 复制代码
      axios({
          //大括号即为js对象
          method:"post",
          url:"http://localhost:8080/Ajax_S1_war/AxiosServlet",
          data:"username=jsl"
      }).then(function (resp){
          alert(resp.data);
      })

2.别名方法

当然Axios内部可以直接调用get和post方法:

javascript 复制代码
      axios.get("http://localhost:8080/Ajax_S1_war/AxiosServlet?username=jsl").then(
          function (resp){
              alert(resp.data);
              }
      )
      axios.post("http://localhost:8080/Ajax_S1_war/AxiosServlet","username=jsl").then(
          function (resp){
              alert(resp.data);
          }
      )

均可启动成功:

二.Json数据格式

全名JavaScript Object Notation,即JS简谱、JS对象表示法。由于其语法简单,层次结构鲜明,现在多用于作为数据载体,在网络中进行数据传输。

1.基础语法

javascript 复制代码
      var jsl={
          "gender":"man",
          "age":23,
          home:["拜仁","国米","阿贾克斯"]
      }
      alert(jsl.home[0]);

非常简单,不再赘述~

2.Java对象转换

  • 请求数据:json字符串变为Java对象
  • 响应数据:Java对象变为json字符串

采用阿里巴巴的API:Fastjson

导入坐标:

XML 复制代码
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.62</version>
</dependency>

创建一个用于测试的类:

java 复制代码
public class TestDemo {
    private Integer id;
    private String username;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "TestDemo{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

主方法中测试:

java 复制代码
import com.alibaba.fastjson.JSON;

public class Main {
    public static void main(String[] args) {
        //1.Java转换为Json
        TestDemo TD=new TestDemo();
         TD.setId(1);
         TD.setPassword("123456");
         TD.setUsername("jsl");

         String jsonOb = JSON.toJSONString(TD);
         System.out.println(jsonOb);
    }
}

打印出json格式的数据:

然后是字符串转为java对象:

java 复制代码
 //2.json转为java
        TestDemo t= JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}",TestDemo.class);
        System.out.println(t);
相关推荐
程序员阿峰1 分钟前
前端3D·Three.js一学就会系列: 第一个3D网站
前端·three.js
DLGXY8 分钟前
STM32(二十九)——读写、擦除FLASH
前端·stm32·嵌入式硬件
慧一居士14 分钟前
TanStack功能介绍和使用场景,对应 vue,react 完整使用示例
前端·vue.js
新晨43716 分钟前
Git跨分支文件恢复:如何将其他分支的内容安全拷贝到当前分支
前端·git
一枚菜鸟_16 分钟前
02-React+TypeScript基础速览
前端·taro
踩着两条虫22 分钟前
VTJ.PRO 在线应用开发平台入门与项目初始化
前端·人工智能·ai编程
流星雨在线23 分钟前
大前端通用性能优化(高频场景专项)
前端·性能优化
方安乐23 分钟前
ESLint代码规范(一)
前端·javascript·代码规范
酉鬼女又兒25 分钟前
零基础快速入门前端JavaScript Array 常用方法详解与实战(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·chrome·蓝桥杯
January120725 分钟前
Vue3打卡计时器:完整实现与优化方案
前端·javascript·css