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 ...
随机推荐
- Android窗口跳转
1.原始界面 package com.fish.helloworld; import android.app.Activity; import android.content.Intent; impo ...
- sqlserver 保留小数方法
1. 使用 Round() 函数,如 Round(@num,2) 参数 2 表示 保留两位有效数字. 2. 更好的方法是使用 Convert(decimal(18,2),@num) 实现转换,dec ...
- mysql 5.7压缩包安装笔记
转载请注明出处http://www.cnblogs.com/havedream/p/5075263.html 重装系统之后准备安装mysql,看到官网上有mysql 5.7.10可以下载就点了,然后就 ...
- css3选择器——导图篇
css3选择器主要有:基本选择器 , 层次选择器, 伪类选择器 , 伪元素选择器 , 属性选择器 基本选择器 层次选择器 伪类选择器分为 动态伪类选择器, 目标伪类选择器, 语言伪类选择器, U ...
- 学习c语言的第9天
#include <stdio.h> int main() { float sum=0,wage=0; int i=1; int num; printf("+++平均工资统计程序 ...
- mariadb日志学习笔记
MySQL日志: 查询日志:query log 慢查询日志: 查询执行时长超过指定时长的查询操作所记录的日志 slow query log 错误日志:包含了服务器启动和关闭的正常信息 二进制日志:包含 ...
- 瀑布流ListView
前言 终于忙完了一段时间,现在前段时间写的一个瀑布流ListView到想法分享下,这个东西是扩展自Listview,当列表内容拉到最后后触发刷新操作,以便抓取更多到数据. 先贴下整个代码,先有个整体到 ...
- Laravel 安装predis 扩展
在安装predis扩展之前先安装composer,安装教程在https://getcomposer.org/download/: php -r "copy('https://getcompo ...
- 安装Google框架服务并突破Google Play下载限制
请注明出处:http://www.cnblogs.com/killerlegend/p/3546235.html Written By KillerLegend 关于谷歌服务框架以及安装 安装前请先获 ...
- API - .addBack()
从jQuery官网上提供的Example来看,这个API的意思是: 1 先圈定一个范围,[A] $( "div.after-addback" ) 2 再用find过滤一出一个更 ...