我正在尝试实现用于以AJAX方式将文件上传到服务器的well-known method(我已经有基于闪存的上传,这是一个后备),但似乎好像我的实施是错误的。查看Opera Dragonfly(相当于FireBug)的网络信息,似乎请求被定向到当前页面而不是iframe的src
。
起初我很确定这不是正常的行为,但后来我意识到iframe 是页面的一部分,并认为这就是所代表的内容。无论如何,服务器没有在iframe的src属性所代表的位置接收请求。谁能告诉我为什么会这样?
我已经包含了与向iframe提交表单相关的Dragonfly条目的图片。请注意,“referer”标头与请求URL相同。我知道这是由于Content-Type标题而由此条目表示的表单提交。
iframe和表单的标记如下:
IFRAME:
<iframe id='uploadMediaIframe' name='uploadMediaIframe' src='ActionServlet'>
</iframe>
形式:
<form id='exForm' class='exForms' method='post' target='uploadMediaIframe' enctype='multipart/form-data'>
<input id='regularUploadFormFileInput' class='regularUploadFormFileInputs' name='Filedata' type='file'/>
<input name='action' value='uploadEntryMedia' type='hidden'/>
<input name='type' value='picture' type='hidden'/>
</form>
任何帮助都会非常赞赏。感谢。
答案 0 :(得分:1)
我认为你缺少表单的action属性。它应该是这样的:
<form id='exForm' class='exForms' action="posted_url" method='post' target='uploadMediaIframe' enctype='multipart/form-data'>
<input id='regularUploadFormFileInput' class='regularUploadFormFileInputs' name='Filedata' type='file'/>
<input name='action' value='uploadEntryMedia' type='hidden'/>
<input name='type' value='picture' type='hidden'/>
</form>