后台用springMVC,方法定义如下:
public @ResponseBody FeedResult saveOrUpdateWorks(AddForm form, HttpServletRequest request, HttpServletResponse response) {
//逻辑
}
ie系列会提示下载
提示下载解决办法1:
<property name="supportedMediaTypes">
<list>
<!-- 这里顺序不能反,一定先写text/html,不然ie下出现下载提示 -->
<value>text/html;charset=UTF-8</value>
<value>text/json;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
但该方法有个局限性,就是中后期的项目改动比较大,会影响所有接口,并且所有ajax方法dataType都要改为json,不然会返回undefined(印象中);
2.方法二,只针对单个接口:
修改上面的方法,但返回值变成void
public void saveOrUpdateWorks(WorkAddForm form, HttpServletRequest request, HttpServletResponse response) {
//逻辑
Json.writeObj(jResult, response);//通过这种返回
return;
}
writeObj()做的事情如下:
//主要是这句:
rsp.setContentType("text/json;charset=UTF8");
瞎搞了半天,原来发现有前人遇到:
http://blog.csdn.net/tudopi/article/details/5577562
就是在
$(this).attr('submited',true).ajaxSubmit({});
后终止它,即紧接着写:
return false;