ajax怎么传一个JSON都JAVA后台?

liu_qingqiang 2011-11-14 10:31:22
我用的是 spring mvc
$.post(path+'/companyinvestplan/hasPlanInvest.do?annualPlanId='+Ext.get("id").dom.value,function(data) {
var msg = Ext.util.JSON.decode(data);

我这个在本地组装的JSON 怎么传?在controller中怎么怎么接受 ,解析?
...全文
265 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
scrack 2011-11-15
  • 打赏
  • 举报
回复
ar jsonObj=JSON.stringify(json对象);
$.ajax({
async : false,
cache:true,
type: 'POST',
dataType : "json",
data:{node:jsonObj}, 参数
url:"${path}/xx.do",//请求的action路径
error: function () {//请求失败处理函数

},
success:function(data){ //请求成功后处理函数。

}
});
在controller里:
JSONObject jsonObj = JSONObject.fromObject(node);转成json对象;node就是前面的参数
再取值:
jsonObj .getString("name");
jsonObj .getLong("id");
Valefish 2011-11-15
  • 打赏
  • 举报
回复
LS已经很详细了
zuxianghuang 2011-11-15
  • 打赏
  • 举报
回复
你要把json对象转成json字符串;
var jsonObj=JSON.stringify(json对象);
$.ajax({
async : false,
cache:true,
type: 'POST',
dataType : "json",
data:{node:jsonObj}, 参数
url:"${path}/xx.do",//请求的action路径
error: function () {//请求失败处理函数

},
success:function(data){ //请求成功后处理函数。

}
});
在controller里:
JSONObject jsonObj = JSONObject.fromObject(node);转成json对象;node就是前面的参数
再取值:
jsonObj .getString("name");
jsonObj .getLong("id");
kouyiSC 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 liu_qingqiang 的回复:]
引用 6 楼 zuxianghuang 的回复:
你要把json对象转成json字符串;
var jsonObj=JSON.stringify(json对象);
$.ajax({
async : false,
cache:true,
type: 'POST',
dataType : "json",
data:{node:jsonObj}, 参数
url:"${path}/xx.d……
[/Quote]

后台接收的话。。根本就用不着那么麻烦。。
如果你用的strust2的话。。在action中添加city,street,postcode属性及get/set方法。或者使用对象的形式:如implements ModelDriven<包含所有属性的POJO>,这种方式。。直接就能映射赋值了。。。

如implements ModelDriven<User>, User包含你的三个属性
在action中private User user=new User();
加一个get/set,
public User getModel() {
// TODO Auto-generated method stub
return user;
}

然后通过。user.getCity()就能取到值
liu_qingqiang 2011-11-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zuxianghuang 的回复:]
你要把json对象转成json字符串;
var jsonObj=JSON.stringify(json对象);
$.ajax({
async : false,
cache:true,
type: 'POST',
dataType : "json",
data:{node:jsonObj}, 参数
url:"${path}/xx.do",//请求的action路径 ……
[/Quote]


var data1 = {"city":"Beijing","street":" Chaoyang Road ","postcode":100025} ;
var jsonObj=JSON.stringify(data1);

$.ajax({
url : path + "/cgprovider/save.do",
data : {node:jsonObj},
type : "post",
dataType : "json",
success : function(data) {
//包数据解析为json 格式
alert(data.msg);
}
});
java:
import net.sf.json.JSONObject;
JSONObject jsonObj = JSONObject.fromObject("node");
System.out.println(jsonObj.getString("city"));

这样对吗?我这边有问题?
coooliang 2011-11-15
  • 打赏
  • 举报
回复
亲,看文档吧
iqequal0 2011-11-15
  • 打赏
  • 举报
回复
是要转化!http传输的是字符串!
liu_qingqiang 2011-11-15
  • 打赏
  • 举报
回复
var data1 = {"city":"Beijing","street":" Chaoyang Road ","postcode":100025} ;
$.ajax({
url : path + "/cgprovider/save.do",
data : data1,
type : "post",
dataType : "json",
success : function(data) {
//包数据解析为json 格式
alert(data.msg);
}
});
像我这个data1这样传对嘛?
传过去能是一个数组或 MAP
嘛 怎么用JAVA解析





kengzcn1123 2011-11-15
  • 打赏
  • 举报
回复
ls用的都是jquery喔。
kengzcn1123 2011-11-15
  • 打赏
  • 举报
回复
ls用的都是jquery喔。
kouyiSC 2011-11-14
  • 打赏
  • 举报
回复

$.ajax({
url : "exportLog.action",
data : {msg(后台接收参数名称) : msg(这个msg是你的页面json数据},
type : "post",
dataType : "json",
success : function(data) {
//包数据解析为json 格式
alert(data.msg);
}
});
}


前台你的msg是什么类型的数据,后台就根据此类型做相应的转换就行了
healer_kx 2011-11-14
  • 打赏
  • 举报
回复
Post
。。。 。。。
24K純帥 2011-11-14
  • 打赏
  • 举报
回复
用POST方式喔亲,JSON当做一个参数传就可以了
albert_lz 2011-11-14
  • 打赏
  • 举报
回复
$.post(url请求地址,params参数列表,function()回调函数);
params={key01:value01,
key02:vlaue02
}即可向后台传递一个json格式的参数
在后台接收:request.getParameter("key01");即可得到
后台向前台传递json参数:JSONObject json=new JSONObject();
json.put("key01","value01");
然后json.toString()即可得到传递参数的字符串

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧