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

//一个纠结好久的问题,关于用$.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());
}//前台页面的代码不需要更改,解决。

你可能感兴趣的:(项目笔记)