jquery ajax 传递数组 后台怎么接

2024-11-02 18:22:36
推荐回答(5个)
回答1:

无论哪种方式,提交到后台的都只能是字符串的形式,可以在后台分离也可以在前台组装。

$.ajax({
type:"post",
data:我要传的数组,
url:...
})

首先,“我要传的数组”那里的格式应该是,data:'data=1&data=2&data=3...'这种形式,然后在后台用String[] params =request.getParameterValues("data");方式就可以取到了。如果是action,还可以用List data来直接获取,记得写set,get方法。

回答2:

php函数
$json_array = json_decode($json, true);

回答3:

页面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+='·'+this.title+' '
});
$("#"+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 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;
}

回答4:

数组估计不行 把你的数组转成字符串 再在action里面写一个set方法就可以得到

回答5:

需要在request里面去取