求解!!关于ajax传值却自动打开浏览器下载的问题
2016-06-17 16:29
435 查看
//一个纠结好久的问题,关于用$.ajaxSubmit向后台传输数据再得到返回值的时候(上传文件),浏览器会自动打开下载的问题
js代码:
action代码:
当程序走完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());
}//前台页面的代码不需要更改,解决。
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());
}//前台页面的代码不需要更改,解决。
相关文章推荐
- 使用 Python 处理 JSON 格式的数据
- Ajax
- $.ajax()方法详解
- jQuery ajax - ajax() 方法
- 使用Ajax实现异步用户名验证
- 使用ajax实现用户登录验证(升级版)
- XML 与 JSON 优劣对比
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- VBA将excel数据表生成JSON文件
- 再谈Jquery Ajax方法传递到action(补充)
- Dom在ajax技术中的作用说明
- newtonsoft.json解析天气数据出错解决方法
- AJAX实现瀑布流触发分页与分页触发瀑布流的方法
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- 探讨Ajax中同步与异步之间的区别
- vbs 解析json jsonp的方法
- Ruby和Ruby on Rails中解析JSON格式数据的实例教程
- Extjs4如何处理后台json数据中日期和时间
- C#实现将类的内容写成JSON格式字符串的方法
- ajax中data传参的两种方式分析