第一种:通过struts接收

(function ($) {
$("#btnsave").click(function () {
var params = {};
params["gaglid.dwfd"] = $("#dwfd").val();
params["gagl.gamc"] = $("#gamc").val();
<%-- console.log($.param(params,true));--%>
<%-- console.log(decodeURIComponent($.param(params)));--%>
<%-- console.log(encodeURI(encodeURI(decodeURIComponent($.param(params)))));--%>
console.log($.param(params,true));
var jqxhr = $.ajax({
url: "save1Gagl.action?_=" + new Date().getTime(),
type: "post",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: encodeURI($.param(params,true)), //ajax传数组参数给struts2自动接收
dataType: "text"
});
jqxhr.done(function (data) {
alert(data);
});
});
})($);

后台定义gaglid和gagl

public void save1()
{
try {
if(null==gaglid||null==gaglid.getBh()||this.gaglid.getBh().equals(""))
{
this.gaglid.setBh(this.getbhmethod());
}
gagl.setId(gaglid);
gagl.setGamc(URLDecoder.decode(gagl.getGamc(), "utf-8")); // gagl_Ithc_Server.saveOrUpdate(gagl);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("application/x-www-form-urlencoded; charset=utf-8");
PrintWriter out;
out = response.getWriter();
out.write("success");
out.flush();
out.close(); } catch (IOException e) {
e.printStackTrace();
} }

  

第二种:手动接收

//把要保存的个案,流调,送检单,传染病整合成一个js对象
var gamerge={};
gamerge.gagl=gamodel;
gamerge.lxbdc=lxbdcmodel;
gamerge.listsjdj=objs;
gamerge.listcrbbg=crbbgobjs;
var jqxhrga = $.ajax({
url: "save2AjaxGamerge.action?_=" + new Date().getTime(),
type: "post",
contentType: "application/json;charset=utf-8",
data:escape(encodeURIComponent(JSON.stringify(gamerge))), //把js对象转换成json JSON.stringify(objs)
dataType: "text"
});
jqxhrga.done(function (data) {
alert(data);
window.opener.location.href=window.opener.location.href;
window.close(); });
jqxhrga.fail(function(e){
alert('保存个案出错'+e);
});

 后台手动接收

HttpServletRequest req=ServletActionContext.getRequest();
try {
req.setCharacterEncoding("utf-8");
String t=readJSONStringFromRequestBody(req);
t=java.net.URLDecoder.decode(java.net.URLDecoder.decode(t,"utf-8"),"utf-8"); //处理时间
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
public Date deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
throws JsonParseException {
try {
return df.parse(json.getAsString());
} catch (ParseException e) {
return null;
}
}
});
Gson gson = gsonBuilder.create();
GaLdSjCrb galdsjcrb=gson.fromJson(t, new TypeToken<GaLdSjCrb>() {
}.getType());
String tsxx="保存成功!";

HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("application/x-www-form-urlencoded; charset=GBK");
PrintWriter out = response.getWriter();
out.write(tsxx);
out.flush();
out.close();

  

 

jquery ajax 传递js对象到后台的更多相关文章

  1. springMVC通过ajax传递参数list对象或传递数组对象到后台

    springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...

  2. jQuery ajax 传递JSON数组到Spring Controller

    jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...

  3. ASP.NET jquery ajax传递参数

    第一种:GET传递 前台 ajax   GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...

  4. mvc jquery ajax传递数组null问题

    mvc jquery ajax传递数,  areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然 ...

  5. .Net之使用Jquery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径

    前言: 首先对于图片上传而言,在我们的项目开发中可以说出现的频率是相当的高的.这篇文章中,我将要描述的是在我们.Net中如何使用Jquery Ajax通过FormData对象异步提交图片文件到后台保存 ...

  6. C#在WinForm中使用WebKit传递js对象实现与网页交互的方法

    这篇文章主要介绍了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法,涉及针对WebBroswer控件及WebKit控件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了C#在W ...

  7. jquery ajax传递多个对象或数组到后台

    1.js对象创建:因为需要把对象json序列化后,才能传递到后台,后台根据json字符串进行反序列化. 2.Jquery   $.ajax方法的配置 针对$.ajax方法的配置参数需要进行修改: 1) ...

  8. JS AJAX传递List数组到后台(对象)

    今天在写代码的时候,碰到的问题,百度了一下,发现原来AJAX传递List数据是可以的,之前还一直用JSON序列化(new Array()数组设置)进行传值的. var _list = {}; //等价 ...

  9. jquery ajax传递数组给php

    写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://w ...

随机推荐

  1. NC V6 安装目录各文件夹作用描述

    ant:存放Apache Ant,用来执行EJB的构建. bin: 存放nc部署和系统监控等命令.configsys.log部署日志(包含NC中间件.WAS中间件等部署信息)以及NC_Client文件 ...

  2. 新版本的pdo会有这个问题

    新版本的pdo会有这个问题: General error: 2014 Cannot execute queries while other unbuffered queries are active. ...

  3. Setup Factory 程序打包

    1.检测是否已安装 在On Startup中写入如下代码: result1=Registry.DoesKeyExist(HKEY_LOCAL_MACHINE, "Software\\sohe ...

  4. c# 实现串口编程-操作LED屏幕

    串口编程主要用到SerialPort这个类,主要实现对串口发送字节数组然后点阵屏显示相关信息,其实这个功能很简单下面给大家把整体思路用流程图展现如下:. 其实整体思路就如流程图.下面是整个流程图的一个 ...

  5. shell字符串操作详解

    shell字符串操作详解的相关资料. 1.shell变量声明的判断  表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DE ...

  6. ajaxFileUpload增加附加参数

    直接说方法: $.ajaxFileUpload({ data:{"a":123,"b":456};//附加参数,json格式 }); 然后在ajaxFileUp ...

  7. DevExpress LookUpEdit和ComboBoxEdit部分用法

    LookUpEdit 1.绑定列 (注意点:LookUpEdit1的FieldName要和绑定的列明一致) 方式一: LookUpEdit1.Properties.DisplayMember = &q ...

  8. python zip函数介绍

    首先用help(zip)来看一下帮助文档:

  9. WPF控件数据单项绑定

    建立一个姓名,年龄输入框,如图: XAML代码: <TextBox Name="txtName" Text="{Binding Name}" ToolTi ...

  10. ADOMD连接SSAS和Mondrian,rex的终结者

    前传 公司使用Mondrian作为OLAP服务器,于是,不得不适用Java开源的Rex进行客户端连接,用了一段时间,实在无法忍受rex的笨拙,于是乎,一直希望有一个工具能够连接替代它. 周末闲来无事, ...