博客
关于我
前后端传参(二)之数组对象
阅读量:583 次
发布时间:2019-03-09

本文共 1474 字,大约阅读时间需要 4 分钟。

前言

由于内容较为技术化,本文将重点介绍如何在前后端之间高效传递数组数据。以下是我们采用的技术栈以及实现方法。

技术选型

前端:采用jQuery进行数据处理,通过AJAX发送数据;后端:使用Spring Boot进行数据接收和处理。

直接上才艺

目前总结了两种实现方式,希望从大神们身上获取更多宝贵经验。

第一种实现方式

前端处理:将数组对象转换为JSON字符串,通过AJAX发送给后端。这种方式简单直观,但需要注意数据传输格式。

function array1() {    let array = [        {"id": 1, "name": "张一"},        {"id": 2, "name": "张二"},        {"id": 3, "name": "张三"}    ];    $.ajax({        url: "http://localhost:8080/array1",        data: {            userList: JSON.stringify(array)        },        type: "POST",        success: function (data) {            alert(data);        }    });}

后端处理:接收前端发送的JSON字符串,直接将其作为处理对象。

@RequestMapping("/array1")public String array1(String userList) {    return userList;}

第二种实现方式

前端处理:直接将数据以JSON格式发送,后端通过@RequestBody接收。

function list1() {    let array = [        {"id": 1, "name": "张一"},        {"id": 2, "name": "张二"},        {"id": 3, "name": "张三"}    ];    $.ajax({        url: "http://localhost:8080/list1",        data: JSON.stringify(array),        type: "POST",        dataType: "json",        contentType: "application/json",        success: function (data) {            alert(data);        }    });}

后端处理:接收JSON数组,通过@RequestBody自动转换为List或数组类型。

@RequestMapping("/list1")public Integer list1(@RequestBody List
users) { return users.size();}@RequestMapping("/list2")public Integer list2(@RequestBody User[] users) { return users.length;}

注意事项

  • 确保前端和后端的contentType一致,建议设置为application/json以保证数据格式一致性。

  • 如遇到其他问题或需要更多优化方案,欢迎随时联系我进行交流和探讨。

  • 转载地址:http://doupz.baihongyu.com/

    你可能感兴趣的文章
    mysql-group_concat
    查看>>
    MySQL-【4】基本操作
    查看>>
    Mysql-丢失更新
    查看>>
    Mysql-事务阻塞
    查看>>
    Mysql-存储引擎
    查看>>
    mysql-开启慢查询&所有操作记录日志
    查看>>
    MySQL-数据目录
    查看>>
    MySQL-数据页的结构
    查看>>
    MySQL-架构篇
    查看>>
    MySQL-索引的分类(聚簇索引、二级索引、联合索引)
    查看>>
    Mysql-触发器及创建触发器失败原因
    查看>>
    MySQL-连接
    查看>>
    mysql-递归查询(二)
    查看>>
    MySQL5.1安装
    查看>>
    mysql5.5和5.6版本间的坑
    查看>>
    mysql5.5最简安装教程
    查看>>
    mysql5.6 TIME,DATETIME,TIMESTAMP
    查看>>
    mysql5.6.21重置数据库的root密码
    查看>>
    Mysql5.6主从复制-基于binlog
    查看>>
    MySQL5.6忘记root密码(win平台)
    查看>>