您的位置:首页 > Web前端 > JavaScript

求解!!关于ajax传值却自动打开浏览器下载的问题

2016-06-17 16:29 435 查看
//一个纠结好久的问题,关于用$.ajaxSubmit向后台传输数据再得到返回值的时候(上传文件),浏览器会自动打开下载的问题

js代码:

function doUpLoad(){
$("#myUpLoad").ajaxSubmit({
type:'POST',
dataType:'json',
data:{
"userInfo.id":upLoadUserId
},
success:function(json){
if(json.result==1){
alertShow("上传成功!");
}else{
alertShow(json.key);
}
}
});
}


action代码:

public void upLoad() {
Map<String, Object> mes = new HashMap<String, Object>();
/*省略实现代码*/
mes.put("result", "1");
}
Struts2Utils.renderJson(mes);
}


当程序走完action时会自己进入下载页面,问题是我特么这是上传action啊,下载个毛啊,把Struts2Utils.renderJson(mes);这句屏蔽了就不下载了,但是我前台还要接收返回值啊,

至今不知道为什么,网上说可能是与Struts2冲突了?反正没有查到有效的解决办法,求大神解答没办法换了一种接收方式如下:

public void upLoad() {

JSONObject js = new JSONObject();//需要引入import net.sf.json.JSONObject;

/省略实现代码/

mes.put(“result”, “1”);

}

HttpServletResponse response = (HttpServletResponse) Struts2Utils

.getResponse();

response.getWriter().print(js.toString());

}//前台页面的代码不需要更改,解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax json