解く!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);
            }
        }
    });
    }

アクションコード:
public void upLoad() {
    Map<String, Object> mes = new HashMap<String, Object>();
    /*      */
        mes.put("result", "1");
    }
    Struts2Utils.renderJson(mes);
}

プログラムがactionを歩き终わる时自分でダウンロードのページに入ることができて、问题は私が特にこれがactionをアップロードするので、毛をダウンロードして、Struts 2 Utils.renderJson(mes);このシールドはダウンロードしませんが、私のフロントはまだ戻り値を受信しなければなりません.今までなぜか分かりませんが、ネット上ではStruts 2と衝突したのかもしれません.いずれにしても有効な解決策は見つからず、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()); }//フロントページのコードは変更する必要がなく、解決します.