`

WEB前端向服务器端发送对象

    博客分类:
  • WEB
阅读更多

最近项目中需要做一个关于批量删除的功能,删除条件有多个,需要从页面全部传给后台服务器程序,单个的删除,可以拼接参数给url,服务器端获取参数后执行删除操作即可。但是批量删除多个,参数会很多,传递就有些麻烦。当然有一种比较常见的解决方法,是使用逗号、下划线、或者分号分割,然后传到后台拆分后再进行操作,这种方法需要前台拼接,后台解析,稍显繁复且容易出错。对于搞JAVA程序的我来说,显得不是很面向对象。于是很自然的想到了使用json字符串进行传递数据,具体步骤如下:

1、先把想要传递的参数封装成js对象,代码样例如下:

var params = [];
var param = {};
param["aaa"] = "a";
param["bbb"] = true;
param["ccc"] = 2;
params.push(param);

2、接下来把js对象转成json字符串,比较常见的做法是使用JSON.stringfy(),尝试一番之后发现IE8浏览器并不支持(该方法对谷歌、火狐、以及IE9以上版本浏览器完美支持),而我们当前的产品只支持IE浏览器,转而求救谷歌百度,找到一个比较通用的js方法,代码如下:

function obj2Str(obj)
{
	switch (typeof (obj)) 
	{
    	case 'object':
    		var ret = [];
    		if (obj instanceof Array) 
    		{
    			for (var i = 0, len = obj.length; i < len; i++) 
    			{
    				ret.push(obj2Str(obj[i]));
    			}
    			return '[' + ret.join(',') + ']';
    		} 
    		else if (obj instanceof RegExp) 
    		{
    			return obj.toString();
    		} 
    		else 
    		{
    			for (var a in obj) 
    			{
    				ret.push(a + ':' + obj2Str(obj[a]));
    			}
    			return '{' + ret.join(',') + '}';
    		}
    	case 'function':
    		return 'function() {}';
    	case 'number':
    		return obj.toString();
    	case 'string':
    		return '"' + obj.replace(/(\\|\")/g, '\\$1').replace(/\n|\r|\t/g, function (a) 
    				{
    					return ('\n' == a) ? '\\n' : ('\r' == a) ? '\\r' : ('\t' == a) ? '\\t' : '';
    				}) + '"';
    	case 'boolean':
    		return obj.toString();
    	default:
    		return obj.toString();
	}
}

 

3、前台封装好以后,使用ajax请求到后台,JAVA解析json字符串的方法不少,可以在网上找写好的方法,当然也可以使用json-lib-xxx.jar,这个jar包在项目中应用很广泛,LZ上一家公司就使用其做了大量json转化工作,使用方法如下:

JSONArray jsonArray = JSONArray.fromObject(jsonStr);
List<Map> cmdList = (List<Map>)JSONArray.toCollection(jsonArray, Map.class);

    4、通过内置方法转化成集合,再传递到ibatis或者自己使用的数据库持久层进行处理即可。

分享到:
评论

相关推荐

    服务器端+Web管理端,web服务器端程序,Java

    标题中的“服务器端+Web管理端,web服务器端程序,Java”揭示了这是一个关于构建基于Java的服务器端应用程序,用于管理并展示通过Web界面的手机状态监控系统。这个系统不仅包含后端服务处理数据,还涉及到前端Web界面...

    ExtJs的服务器端控件实现

    "ExtJs的服务器端控件实现"这一主题,主要是探讨如何在服务器端与ExtJS进行交互,以实现更高效、更复杂的Web应用功能。 首先,服务器端控件是Web开发中的一个重要概念,它们允许开发者在服务器端处理业务逻辑和数据...

    服务器端的JSON

    1. **序列化**: 将服务器端的数据结构(如对象、数组)转换为JSON字符串,以便通过网络发送。例如,Python中的`json.dumps()`函数可以实现这一过程。 2. **解析**: 当接收到前端发送的JSON数据时,服务器需要将其...

    JavaWeb后台自动向前台发送消息

    - 在服务器端,创建Comet4J服务,定义监听器来处理推送事件,当有新的消息需要发送时,调用相应的接口触发推送。 - 在客户端,使用JavaScript与Comet4J服务器建立连接,并注册回调函数来处理接收到的消息。 3. **...

    客户端向服务器端上传文件

    在客户端向服务器端上传文件的过程中,涉及到的主要技术包括前端交互、后端处理和文件传输协议。下面将分别从这三个方面详细讲解相关知识点。 首先,前端交互是用户与应用程序的接触点,这里通常会使用HTML、CSS和...

    web前端优化方案

    服务器端进行文件压缩(如gzip压缩),浏览器端进行文件解压,可以减少传输数据量,从而提升加载速度。压缩对服务器和浏览器计算资源有一定压力,需权衡考虑。合并外部脚本和样式文件,减少请求次数,提高压缩效率。...

    Web前端涉及到server/mysql/php访问数据库的知识,整理了一份笔记

    关系型数据库是常见的数据存储类型,它包括服务器端用于存储和管理数据,以及客户端用于发送查询请求。常见的数据库系统有网状数据库、层次型数据库、关系型数据库(如MySQL)和非关系型数据库(NoSQL)。关系型...

    web前端开发 json jar 包

    在Web前端开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其易读性、易写性和高效性被广泛应用于前后端数据交互。JSON是基于JavaScript的一个子集,但它是独立于语言的,有明确的规范...

    python1903笔记 06-web前端.zip

    在Python Web开发中,JavaScript通常与Ajax技术一起使用,实现异步通信,即无需刷新页面就能向服务器发送请求并获取新数据。 4. Python与前端的交互: 在Python Web开发中,后端通常负责处理业务逻辑和数据库操作...

    web前端+node实现聊天室

    在本项目中,“web前端+node实现聊天室”是一个典型的实时通信应用,它结合了HTML、JavaScript(前端技术)和Node.js(后端技术),利用WebSocket协议实现了全双工(full-duplex)通信,从而提供了实时、双向的数据...

    Web前端开发技术-Jquery其他方法.pptx

    - **服务器端应用开发**:根据需求编写后端代码来处理请求并返回数据。 - **同源策略**:限制了浏览器对不同源的资源访问,需要了解如何跨域。 - **数据交互格式**:如XML、JSON,通常使用JSON,因为其结构清晰且...

    C#web端操作office,表格

    相反,它可能依赖于服务器端的处理,如使用ASP.NET或Web API创建一个服务,该服务可以接受来自Web前端的请求,然后处理Office文档。 标题中的"C# web端操作office,表格"意味着我们要在Web应用程序中实现对Excel或...

    从JavaScript中发送数据到WebService

    1. **参数名称一致性**:JavaScript端发送的参数名称必须与服务器端方法的参数名相匹配,否则会引发错误。 2. **JSON数据类型设置**:当发送JSON格式数据时,必须正确设置`dataType`和`contentType`,否则数据无法被...

    Web前端 nodejs

    Web前端开发是构建互联网应用程序的重要组成部分,而Node.js作为一个基于Chrome V8引擎的JavaScript运行环境,为前端开发者提供了在服务器端编写代码的能力。本主题主要关注Node.js在Web开发中的应用,特别是关于...

    web 前端 javascript RSA加密提交数据,server端用java解密

    在Web前端开发中,安全传输数据是至关重要的。JavaScript RSA加密是一种常见的方法,用于保护用户敏感信息,如登录凭证或支付详情,防止在传输过程中被截取。在本主题中,我们将深入探讨如何使用RSA算法在JavaScript...

    web前端跨域取JSON

    在前端与服务器建立WebSocket连接后,双方可以自由地发送JSON或其他类型的数据。 6. **JSON格式**:理解JSON的结构和规则非常重要,包括对象(key-value对)、数组、字符串、数字、布尔值和null等基本类型,以及...

    C#webapi文件上传下载源码

    6. **文件I/O操作**:在服务器端处理文件上传时,需要了解如何在磁盘上读写文件。 7. **安全考虑**:确保文件上传功能的安全性,避免恶意文件上传,例如通过验证文件类型、大小和扩展名。 8. **性能优化**:对于大...

    Web前端 Request&Response

    这种方式会将当前请求转发到指定的路径,客户端浏览器地址栏的URL不会改变,因为整个过程都在服务器端完成。 3. Response对象 Response对象则是用来封装服务器返回给客户端的HTTP响应。在上面的示例代码中,我们...

    15JavaScript服务器端应用-ASP共17页.p

    JavaScript服务器端应用与ASP技术是Web开发中的两个关键概念,尤其在构建动态网站和Web应用程序时。本知识点将深入探讨JavaScript在服务器端的角色以及ASP(Active Server Pages)的工作原理。 JavaScript,通常被...

    qt与前端消息交互qt与前端消息交互

    在服务器端(Qt应用)和客户端(Web页面)之间建立通道,允许双方共享和操作对象。通过注册Qt对象到WebChannel,前端JavaScript可以透明地调用这些对象的方法,处理返回的数据。 接下来,我们讨论QtWebCharts,这是...

Global site tag (gtag.js) - Google Analytics