Ajax传递复杂参数到服务器端的方法

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/82287052 我们大概都知道,使用Ajax传递简单参数到服务器端(SpringMVC)的方法,如下:$.
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/82287052

我们大概都知道,使用Ajax传递简单参数到服务器端(SpringMVC)的方法,如下:

$.ajax({
    type : "POST",
    url : CONFIG.mec_otm.order + "/cancel",
    data : {
        "results" : "cmower",
    },
    dataType : "json",
    success : function(json) {
    }
});

但如果想要传递一个像List<SelfOrder>这样的复杂对象(一个 java.util.List 中放了自定义对象com.cmower.database.entity.selforder.SelfOrder)呢?

怎么办呢?
想一想,可以在Ajax传递参数的时候把复杂对象转成JSON字符串,然后在服务器端获取JSON字符串后再转成List<SelfOrder>
好像有道理,是吧?

那具体怎么做呢?
先来看客户端代码,我们假设有一个datatables的Table,支持多选

// 获取datatables选择的项目,支持多选,因此获取的结果为一个数组
var _getSelects = function() {
    var results = [];
    self_order_table.rows({
        selected : true
    }).data().each(function(selfOrder, i) {
        var result = {};
        result["scode"] = selfOrder.scode;
        result["id"] = selfOrder.id;
        results[i] = result;
    });
    return results;
};

$("#orderBtn").click(function(event) {
    var results = _getSelects();

    $.ajax({
        type : "POST",
        url : CONFIG.mec_otm.order + "/cancel",
        data : {
            "results" : JSON.stringify(results),//转成json字符串
        },
        dataType : "json",
        success : function(json) {

    });

    return false;
});

然后服务器端获取的方法也很简单:

@RequestMapping("cancel")
public ModelAndView cancel() {
    String jsonStr = getPara("results");
    if (StringUtils.isEmpty(jsonStr)) {
        throw new OrderException("请选择要撤单的项目");
    }

    List<SelfOrder> list = JSON.parseArray(jsonStr, SelfOrder.class);

}

可以利用fastjson(JSON.parseArray)对json字符串转成目标的复杂对象。

相关文章
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
74 9
|
1天前
|
SQL 存储 关系型数据库
MySQL/SqlServer跨服务器增删改查(CRUD)的一种方法
通过上述方法,MySQL和SQL Server均能够实现跨服务器的增删改查操作。MySQL通过联邦存储引擎提供了直接的跨服务器表访问,而SQL Server通过链接服务器和分布式查询实现了灵活的跨服务器数据操作。这些技术为分布式数据库管理提供了强大的支持,能够满足复杂的数据操作需求。
24 12
|
1月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
48 3
|
1月前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
72 3
|
2月前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
71 22
|
1月前
|
弹性计算 异构计算
2024年阿里云GPU服务器多少钱1小时?亲测价格查询方法
2024年阿里云GPU服务器每小时收费因实例规格不同而异。可通过阿里云GPU服务器页面选择“按量付费”查看具体价格。例如,NVIDIA A100的gn7e实例为34.742元/小时,NVIDIA A10的gn7i实例为12.710156元/小时。更多详情请访问阿里云官网。
169 2
|
1月前
|
人工智能 弹性计算 关系型数据库
学生免费领取阿里云服务器一年的方法,以及各种活动
学生可以免费领取阿里云服务器一年,新人可获2核4G,非新人2核2G。访问链接注册并完成学生认证,领取300元无门槛优惠券,购买轻量应用服务器。此外,还有多项活动可赢取实物奖品。
423 2
|
2月前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
94 4
|
2月前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
2月前
|
弹性计算 安全 Linux
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法
阿里云国际版使用ping命令测试ECS云服务器不通的排查方法

热门文章

最新文章