jquery ajax 传递数组 后台怎么接
$.ajax({type:"post",datatype:"json",data:我要传的数组,url:...})如果我这么写没错的话在action的后台我怎么接我要传的...
$.ajax({
type:"post",
datatype:"json",
data:我要传的数组,
url:...
})
如果我这么写没错的话 在action的后台我怎么接我要传的数组?最好有代码写出来提示一下 不太懂= =谢谢 展开
type:"post",
datatype:"json",
data:我要传的数组,
url:...
})
如果我这么写没错的话 在action的后台我怎么接我要传的数组?最好有代码写出来提示一下 不太懂= =谢谢 展开
5个回答
展开全部
无论哪种方式,提交到后台的都只能是字符串的形式,可以在后台分离也可以在前台组装。
$.ajax({
type:"post",
data:我要传的数组,
url:...
})
首先,“我要传的数组”那里的格式应该是,data:'data=1&data=2&data=3...'这种形式,然后在后台用String[] params =request.getParameterValues("data");方式就可以取到了。如果是action,还可以用List<String> data来直接获取,记得写set,get方法。
$.ajax({
type:"post",
data:我要传的数组,
url:...
})
首先,“我要传的数组”那里的格式应该是,data:'data=1&data=2&data=3...'这种形式,然后在后台用String[] params =request.getParameterValues("data");方式就可以取到了。如果是action,还可以用List<String> data来直接获取,记得写set,get方法。
展开全部
php函数
$json_array = json_decode($json, true);
$json_array = json_decode($json, true);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
页面Javascript代码:
function loadSlide(type,id,size,path){
$.ajax({
url:path+"loadSlideArticle.action?r="+Math.random(),
type:"post",
data:{"cid":id,"type":type,"size":size},
dataType:"json",
success:function(d){
var str='';
$(d).each(function(){
str+='<tr><td height="5"></td></tr><tr ><td align=left colspan="2"><font color="#CACACA" size="2"><b>·</b></font><a href="'+path+this.linkPath+'" title="'+this.title+'" target="_blank">'+this.title+'</a> </td></tr>'
});
$("#"+type).html(str);
}
});
}
这个是action中的处理代码:
public String loadSlideArticle() throws Exception {
String cid = request.getParameter("cid");
String type = request.getParameter("type");
String size = request.getParameter("size");
List<ArticleVO> list = service.loadSlideArticle(type, cid, size);
String json = "[";
for (ArticleVO vo : list) {
json += "{\"title\":\"" + vo.getTitle().replace("\"", "“") + "\",\"pubTime\":\""
+ vo.getPubTime() + "\",\"linkPath\":\"" + vo.getLinkPath()
+ "\",\"pic\":\"" + vo.getSmallPic() + "\"},";
}
if (json.length() > 2) {
json = json.substring(0, json.length() - 1);
}
json += "]";
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().write(json);
return this.NONE;
}
function loadSlide(type,id,size,path){
$.ajax({
url:path+"loadSlideArticle.action?r="+Math.random(),
type:"post",
data:{"cid":id,"type":type,"size":size},
dataType:"json",
success:function(d){
var str='';
$(d).each(function(){
str+='<tr><td height="5"></td></tr><tr ><td align=left colspan="2"><font color="#CACACA" size="2"><b>·</b></font><a href="'+path+this.linkPath+'" title="'+this.title+'" target="_blank">'+this.title+'</a> </td></tr>'
});
$("#"+type).html(str);
}
});
}
这个是action中的处理代码:
public String loadSlideArticle() throws Exception {
String cid = request.getParameter("cid");
String type = request.getParameter("type");
String size = request.getParameter("size");
List<ArticleVO> list = service.loadSlideArticle(type, cid, size);
String json = "[";
for (ArticleVO vo : list) {
json += "{\"title\":\"" + vo.getTitle().replace("\"", "“") + "\",\"pubTime\":\""
+ vo.getPubTime() + "\",\"linkPath\":\"" + vo.getLinkPath()
+ "\",\"pic\":\"" + vo.getSmallPic() + "\"},";
}
if (json.length() > 2) {
json = json.substring(0, json.length() - 1);
}
json += "]";
ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
ServletActionContext.getResponse().getWriter().write(json);
return this.NONE;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组估计不行 把你的数组转成字符串 再在action里面写一个set方法就可以得到
追问
关键是我再action怎么接到ajax的数组啊?
追答
你得到数组转成的字符串再在java里面转成数组
怎么接?就在action里面写一个该属性的set方法就可以了,刚开始不就说了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要在request里面去取
更多追问追答
追问
request.getparameter()?
追答
貌似是这个方法吧,忘记了,就是你提交表单的时候在后台取数据那方法,一样的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询