struts2+ajax 请求返回数组
页面JS代码:
//此处是JS请求
function selectGame(selectValue){
var selectValue=document.getElementById("selectValue").value;
var url="<%=contextPath%>/w/getRechargeCard.do";
$.ajax({
type:"post",
url:url,
dataType:"json",
data:{cardType:selectValue},
ifModified:true,
cache:false,
success:showGameRet,
});
}
//此处是ajax请求成功返回的方法,如果请求成功就给一个select填充内容
function showGameRet(json){
document.getElementById("amount").options.length=0;
for(var i=0; i<json.length;i++){
document.getElementById("amount").options.add(new Option(json[i],json[i]));
}
if(selectV=="SNDACARD"){
document.getElementById("amount").options.add(new Option("其他",0));
}
}
struts2 action
public String getRechargeCard() {
String[] snda = serverConfig.getRechargeCard_TELECOM(); //请求后台方法
json = JSONUtils.toJson(snda); //这个方法自己实现转换成JSON格式
writer(json); //写入
return SUCCESS;
return SUCCESS;
}
private void writer(String json) throws Exception {
response.getWriter().write(json);
response.getWriter().close();
logger.debug("ajax parameter :" + json);
}
struts2 配置文件
<action name="getRechargeCard" class="recharge" method="getRechargeCard">
<result name="success" type="json">
<param name="noCache">true</param>
<param name="excludeNullProperties">true</param>
</result>
</action>