0

所有其他浏览器(包括 IE9,不包括古老的浏览器)都发送以下格式的正确请求:

<form class="form-submitter form-horizontal" enctype="multipart/form-data" name="Uploader" id="Uploader" action="MainServlet?module=general&action=add&Name=test">
<input class="input-file" name="testFormName" id="UploaderInput" type="file">
</form>

那是:

http://localhost:8080/Project/MainServlet?module=general&action=add&Name=test&testFormName=%5Bobject+File%5D

而在 IE8 中,我得到的是:

http://localhost:8080/Project/MainServlet?toSessionFormName=test.png

我正在使用jQuery的提交,即:

$("#Uploader").submit()

我很想得到任何可能导致我解决问题的建议或提示。IE8 有人遇到过这个问题吗?

谢谢

4

2 回答 2

2

使用隐藏输入:

<form class="form-submitter form-horizontal"
    enctype="multipart/form-data" name="Uploader" id="Uploader"
    action="MainServlet">
    <input type=hidden name=module value="general">
    <input type=hidden name=action value="add">
    <input type=hidden name=Name value="test">
    <input class="input-file" name="testFormName" id="UploaderInput" type="file">
</form>

这是正确的解决方案。您甚至可以避免编码问题。

于 2012-07-12T15:18:03.123 回答
0

你可以这样改变你的代码:

<form class="form-submitter form-horizontal"
      enctype="multipart/form-data"
      name="Uploader" id="Uploader"
      action="MainServlet" method="get">
    <input class="input-file" name="testFormName" id="UploaderInput" type="file">
    <input type="hidden" name="module" value="general" />
    <input type="hidden" name="action" value="add" />
    <input type="hidden" name="Name" value="test" />
</form>

最好通过 GET 而不是在 URL 中隐式发送参数。

于 2012-07-12T15:18:42.477 回答