jquery ajax 传递js对象到后台
第一种:通过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对象到后台的更多相关文章
- springMVC通过ajax传递参数list对象或传递数组对象到后台
springMVC通过ajax传递参数list对象或传递数组对象到后台 环境: 前台传递参数到后台 前台使用ajax 后台使用springMVC 传递的参数是N多个对象 JSON对象和JSON字符串 ...
- jQuery ajax 传递JSON数组到Spring Controller
jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...
- ASP.NET jquery ajax传递参数
第一种:GET传递 前台 ajax GET 传递 :即在请求的地址后面加上参数,URL地址长度有显示,安全性低 后台接收:Request.QueryString[“参数名字”]! 例如: func ...
- mvc jquery ajax传递数组null问题
mvc jquery ajax传递数, areaIds是个int数组.后台action用list<int>接收.当我想传空值时,先用null传递,结果action收到的AreaIds竟然 ...
- .Net之使用Jquery Ajax通过FormData对象异步提交图片文件到服务端保存并返回保存的图片路径
前言: 首先对于图片上传而言,在我们的项目开发中可以说出现的频率是相当的高的.这篇文章中,我将要描述的是在我们.Net中如何使用Jquery Ajax通过FormData对象异步提交图片文件到后台保存 ...
- C#在WinForm中使用WebKit传递js对象实现与网页交互的方法
这篇文章主要介绍了C#在WinForm中使用WebKit传递js对象实现与网页交互的方法,涉及针对WebBroswer控件及WebKit控件的相关使用技巧,需要的朋友可以参考下 本文实例讲述了C#在W ...
- jquery ajax传递多个对象或数组到后台
1.js对象创建:因为需要把对象json序列化后,才能传递到后台,后台根据json字符串进行反序列化. 2.Jquery $.ajax方法的配置 针对$.ajax方法的配置参数需要进行修改: 1) ...
- JS AJAX传递List数组到后台(对象)
今天在写代码的时候,碰到的问题,百度了一下,发现原来AJAX传递List数据是可以的,之前还一直用JSON序列化(new Array()数组设置)进行传值的. var _list = {}; //等价 ...
- jquery ajax传递数组给php
写成:var data = {'item[]':item}; $.post(url,data,function(return_data) 写成item:item会导致数据缺失. 更多:http://w ...
随机推荐
- 如何判断raid1中哪块硬盘损坏?
服务器 2块硬盘做的raid1,如果其中有一块坏掉,如何能判断是哪块坏掉? 方法①.通过硬盘硬件指示灯进行观察,一般黄灯代表硬盘存在问题,显示红灯则代表硬盘损坏.方法②.通过开机进入阵列配置进行查看, ...
- CSS3 图片悬浮缩放效果
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- Reactor模式解析——muduo网络库
最近一段时间阅读了muduo源码,读完的感受有一个感受就是有点乱.当然不是说代码乱,是我可能还没有完全消化和理解.为了更好的学习这个库,还是要来写一些东西促进一下. 我一边读一边尝试在一些地方改用c+ ...
- C puzzles详解【51-57题】
第五十一题 Write a C function which does the addition of two integers without using the '+' operator. You ...
- JAVA编程思想第一题出现错误
//: object/E01_DefaultInitialization.java public class E01_DefaultInitialization{ int i ; char c ; p ...
- JQuery 的几个有用的技巧
JQuery代码 /* 新窗口打开链接:JQuery filter attr * 禁止鼠标弹出右键菜单:DOM contextmenu * 回到页面顶端:DOM scrollTo * 动态更换Css样 ...
- 【转】MySQL GRANT REVOKE用法
MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器 授权->确定用户是否拥有足够的权限执行查询请求等. 如果认证不成功的话,哪么授权肯定是无法进行的. revo ...
- selenium+python登录登出百度,等待页面加载,鼠标定位
#coding:gbk from selenium import webdriver from selenium.webdriver.common.keys import Keys from sele ...
- JavaScrip拖动动画中的常见BUG
经常我们在用JS辛苦写完一个拖动效果之后 ,发现有各种无法用JS解决的BUG.比如拖动时DOM元素中的内容会变蓝,鼠标的指示会变为一个小+号,或disable的样式,通常这种情况一发生,我们的拖动效果 ...
- 插值和空间分析(二)_变异函数分析(R语言)
方法1.散点图 hscat(log(zinc)~, meuse, (:)*) 方法2.变异函数云图 library(gstat) cld <- variogram(log(zinc) ~ , m ...