如何将HTML表单提交重定向到iframe?

时间:2011-04-28 13:23:30

标签: java javascript html servlets iframe

我正在尝试解决使用AJAX和多部分表单数据的问题。 This page看起来是个好主意。基本上,您可以将表单提交的输出重定向到iframe,而不是使用AJAX。但是,它并不适合我。这是我的客户端HTML代码:

<form id="submitDocumentForm" target='upload_target' name="submitDocumentForm" enctype="multipart/form-data" action="MyServlet" method="POST">
   <input id="inputFile" type="file" name="inputFile"/>
   <input type="submit" value="Import Document" />
   <iframe id="upload_target" name="upload_target" src="" style="width:100;height:100;border:0px solid #fff;"></iframe>
</form>

服务器端处理似乎工作正常,但客户端响应(IE7)是弹出文件下载“您要保存此文件,还是查找程序...”对话框。这是相关的服务器端Java代码:

//handling of the file and exception handling omitted
JSONObject responseData = new JSONObject();
responseData.put("messages", "Upload complete");
PrintWriter pw = response.getWriter();
response.setHeader(RESP_HEADER_CACHE_CONTROL, RESP_HEADER_VAL_NO_CACHE);
response.setContentType("application/json");
pw.println(responseData.toString());
pw.close();

有关如何解决此问题的任何建议?非常感谢提前。

1 个答案:

答案 0 :(得分:6)

将响应的Content-Type设置为text/plain,以强制浏览器将其视为文档而不是文件。