实习知识整理6:前后端利用jQuery $.ajax数据传输的四种方式

方式1:前端发送key/value(String字符串),后台返回文本

前端:

html 复制代码
<input id="test1" type="button" value="前端发送key/value(String字符串),后台返回文本"/>
javascript 复制代码
$(function() {

    $("#test1").click(function () {
        $.ajax({
            type:"post",//指定后台接收方式  后台可以使用@RequstMapping 或者 @PostMapping接收
            url:"http://localhost:8082/project/jsonTest1",
            data:"userName=jzt1&passWord=123&type=car",
            // contentType: '', // 指定后端接受的类型,后端不需要json格式,可以不指定
            // dataType: '',   // 指定后台返回前台的结果类型,如果不添加该属性,默认为String类型
            success:function (data) {//回调方法
                console.log(data);
            },error:function (e) {
                console.log(e);
                console.log("通讯失败");
            }
        });
    });
});

后端:

java 复制代码
    //  http://localhost:8082/project/jsonTest1
    @PostMapping("/jsonTest1")
    @ResponseBody
    //@ResponseBody的作用:将返回值转换为数据  ->
    // 1. 如果是字符串,不做任何转换
    // 2. 如果是对象,将对象转换为json格式返回
    public String jsonTest1(String userName, String passWord, User user) throws Exception {
        System.out.println("userName:" + userName);
        System.out.println("passWord:" + passWord);
        System.out.println("user:" + user.toString());
        return "后台返回需要的数据";
    }

方式2:前端发送key/value(String字符串),后台返回JSON

前端:

html 复制代码
<input id="test2" type="button" value="前端发送key/value(String字符串),后台返回JSON"/>
javascript 复制代码
    $("#test2").click(function () {
        $.ajax({
            type:"post",
            url:"http://localhost:8082/project/jsonTest2",
            data:"userName=tom&passWord=123",
            dataType:'json',//指定后台返回前台的结果类型
            success:function (data) {//回调方法
                console.log(data);
            },error:function (e) {
                console.log(e);
                console.log("通讯失败");
            }
        });
    });

后端:

java 复制代码
    //  http://localhost:8082/project/jsonTest1
    @PostMapping("/jsonTest2")
    @ResponseBody
    //@ResponseBody的作用:将返回值转换为数据  ->
    // 1. 如果是字符串,不做任何转换
    // 2. 如果是对象,将对象转换为json格式返回
    public User jsonTest2(String userName, String passWord, User user) throws Exception {
        System.out.println("userName:" + userName);
        System.out.println("passWord:" + passWord);
        System.out.println("user:" + user.toString());
        user = userService.findUserByName(userName);

        return user;
    }

方式3:前端发送JSON,后台返回文本

前端:

html 复制代码
<input id="test3" type="button" value="前端发送JSON,后台返回文本"/>
javascript 复制代码
$("#test3").click(function () {
        $.ajax({
            type:"post",
            url:"http://localhost:8082/project/jsonTest3",
            contentType:"application/json;charset=utf-8",//指定前台向后台传递数据类型  json格式
            data:'{"userName":"jzt1","passWord":"123"}',
            success:function (data) {//回调方法
                console.log(data);
            },error:function (e) {
                console.log(e);
                console.log("通讯失败");
            }
        });
    });

后端:

java 复制代码
    //  http://localhost:8082/project/jsonTest3
    @PostMapping("/jsonTest3")
    @ResponseBody
    //@ResponseBody的作用:将返回值转换为数据  ->
    // 1. 如果是字符串,不做任何转换
    // 2. 如果是对象,将对象转换为json格式返回
    public String jsonTest3(@RequestBody User user) throws Exception {   // 如果前台发送的数据是json格式的数据,需要使用 @RequestBody声明!!!
        System.out.println("user:" + user.toString());
        return "后台文本";
    }

方式4:前端发送JSON,后台返回JSON

前端:

java 复制代码
<input id="test4" type="button" value="前端发送JSON,后台返回JSON"/>
javascript 复制代码
    $("#test4").click(function () {
        $.ajax({
            type:"post",
            url:"http://localhost:8082/project/jsonTest4",
            contentType:"application/json;charset=utf-8",//指定前台向后台传递数据类型  json格式
            dataType:'json',//指定后台返回前台的结果类型
            data:'{"userName":"tom","passWord":"123"}',
            success:function (data) {//回调方法
                console.log(data);
            },error:function (e) {
                console.log(e);
                console.log("通讯失败");
            }
        });
    });

后端:

java 复制代码
    //  http://localhost:8082/project/jsonTest4
    @PostMapping("/jsonTest4")
    @ResponseBody
    //@ResponseBody的作用:将返回值转换为数据  ->
    // 1. 如果是字符串,不做任何转换
    // 2. 如果是对象,将对象转换为json格式返回
    public User jsonTest4(@RequestBody User user) throws Exception {
        System.out.println("user:"+ user.toString());
        user = userService.findUserByName(user.getUserName());
        return user;
    }
相关推荐
噢,我明白了33 分钟前
JAVA中的一些基础应用知识点
java·开发语言
SL_staff1 小时前
私有化低代码不是妥协,而是企业级数字化的自主可控主航道
java
装不满的克莱因瓶1 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba
秋天的怀念_David2 小时前
算法一千零一夜 · 第二十八夜 注册
java·程序人生·算法
Java码农也是农2 小时前
Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选
java·spring boot·spring·事务
学长毕设3 小时前
基于SpringBoot的游乐园管理系统-附源码
java·spring boot·后端
SimonKing3 小时前
震惊:怎么回事,opencode一轮对话耗尽免费额度
java·后端·程序员
装不满的克莱因瓶3 小时前
【SpringAI Alibaba】ReactAgent响应SSE实时流式传输案例实战
java·人工智能·ai·sse·springai
杨凯凡3 小时前
Spring Boot 文件上传怎么做才安全?流式落盘、路径校验与数据库一致性实战
java·spring boot·文件上传·后端安全·数据库一致性
这个昵称不容易4 小时前
旅游管理系统的设计与实现(SpringBoot + MySQL + Vue 前后端分离)
java·springboot·毕设