IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> SpringMvc详解之Response注解与axios(AJAX)异步请求结合vue -> 正文阅读

[JavaScript知识库]SpringMvc详解之Response注解与axios(AJAX)异步请求结合vue

@ResponseBody注解的功能简单来说就是服务器返回什么,浏览器就接收什么,而不会经过视图解析器,例如return 一个User对象,浏览器就会收到一个User对象,但是会转换成json字符串,那么如果返回的是一个页面会返回什么呢?是会报错还是会返回一个页面呢?

答案是会返回一个页面的源码!!!!!

异步的优势还是很大的,如果我们只想局部的刷新一个页面,而不是返回整个页面就可以通过这种方式将数据传到浏览器,能提升效率。

我们先准备一下环境,pom导入一个thymelf和web就可以

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

?配置文件:

spring:
  thymeleaf:
    suffix: .html
    prefix: classpath:/templates/

?controller

@Controller
public class UserController {
    @RequestMapping("/user")
    private String add(){
        System.out.println("Hello world");
        return "add";
    }
}

?页面

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>你好</p>
</body>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="/js/vue.js"></script>
</html>

?准备工作到这里结束,然后写一个异步方法,写一个路由,然后查看一下返回的数据

?一定要加responsebody注解,因为这里返回的是user对象

@ResponseBody
@PostMapping("/user/save")

private User saveUser(){
    User user=new User();
    user.setId(1);
    user.setUsername("gao");
    user.setPassword("123456");
    return user;
}

?异步方法

var vue=new Vue({
    el:"#app",
    methods: {
        saveUser: function () {
        axios.post("/user/save",{}).then(function (res) {
console.log(res)
        });
        }
    }
})

?我们可以看到返回的数据已经到了data中

Object { data: {…}, status: 200, statusText: "", headers: {…}, config: {…}, request: XMLHttpRequest }

?

config: Object { timeout: 0, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN", … }

?

data: Object { username: "gao", id: 1, password: "123456" }

??

id: 1

??

password: "123456"

??

username: "gao"

??

<prototype>: Object { … }

?

headers: Object { connection: "keep-alive", "content-type": "application/json", date: "Thu, 14 Oct 2021 12:27:53 GMT", … }

?

request: XMLHttpRequest { readyState: 4, timeout: 0, withCredentials: false, … }

?

status: 200

?

statusText: ""

?

<prototype>: Object { … }

?这就证明了我们返回什么浏览器就得到什么,返回页面可以自行测试,有几张图片没传上去,后续会传

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:41:41  更:2021-10-15 11:44:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 15:50:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码