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

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

前端: 

<input id="test1" type="button" value="前端发送key/value(String字符串),后台返回文本"/>
$(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("通讯失败");
            }
        });
    });
});

 后端:

    //  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

前端: 

<input id="test2" type="button" value="前端发送key/value(String字符串),后台返回JSON"/>
    $("#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("通讯失败");
            }
        });
    });

 后端:

    //  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,后台返回文本

 前端:

<input id="test3" type="button" value="前端发送JSON,后台返回文本"/>
$("#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("通讯失败");
            }
        });
    });

 

 

后端: 

    //  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

前端:

<input id="test4" type="button" value="前端发送JSON,后台返回JSON"/>
    $("#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("通讯失败");
            }
        });
    });

后端: 

    //  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;
    }

 

相关推荐

  1. “探索AJAX前端与后数据交互利器

    2023-12-25 12:52:02       27 阅读
  2. SpringMVC实验)——前后分离下数据交互

    2023-12-25 12:52:02       39 阅读
  3. AJAX整理1: 了解AJAX相关知识

    2023-12-25 12:52:02       36 阅读
  4. 什么是AJAX?如何使用AJAX实现异步数据传输

    2023-12-25 12:52:02       22 阅读
  5. Flask——基本前后数据传输示例

    2023-12-25 12:52:02       28 阅读
  6. 前后接口写法(传输数据

    2023-12-25 12:52:02       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-25 12:52:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-25 12:52:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-25 12:52:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-25 12:52:02       18 阅读

热门阅读

  1. SQL分类

    SQL分类

    2023-12-25 12:52:02      30 阅读
  2. mysql全局事务变量GTID

    2023-12-25 12:52:02       23 阅读
  3. leetcode 131. 分割回文串

    2023-12-25 12:52:02       37 阅读
  4. [网络安全] NTFS权限

    2023-12-25 12:52:02       42 阅读
  5. 《PCI Express体系结构导读》随记 —— 前言

    2023-12-25 12:52:02       32 阅读
  6. Mybatis使用详解

    2023-12-25 12:52:02       40 阅读
  7. Linux 文件管理命令----pwd 命令

    2023-12-25 12:52:02       38 阅读
  8. C/C++编译问题

    2023-12-25 12:52:02       25 阅读
  9. (c语言)素数的判断方法

    2023-12-25 12:52:02       45 阅读
  10. 力扣labuladong——一刷day79

    2023-12-25 12:52:02       36 阅读
  11. qt的血泪教训——地图存储与绘制

    2023-12-25 12:52:02       40 阅读
  12. Redis-实战案例

    2023-12-25 12:52:02       47 阅读