解く!ajaxの値を転送して自動的にブラウザを開いてダウンロードする問題について
2096 ワード
//長い間悩んでいた質問です.$について.ajaxSubmitがバックグラウンドにデータを転送して戻り値を得た場合(ファイルをアップロード)、ブラウザはダウンロードした問題jsコードを自動的に開きます.
アクションコード:
プログラムが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()); }//フロントページのコードは変更する必要がなく、解決します.
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()); }//フロントページのコードは変更する必要がなく、解決します.