我在IE6中得到一個奇怪的行爲,我需要一些幫助搞清楚。IFRAME響應解釋爲由IE6文件
我下面的DOM元素添加到使用javascript我的文檔主體的末尾:
<IFRAME id="qq-upload-handler-iframe0" style="DISPLAY: none" src="javascript:false;" />
<FORM method="post" target="qq-upload-handler-iframe0" encType="multipart/form-data" style="DISPLAY: none" action=/AgriShare-AD-Sys/ajaxfileupload?clientId=importSubmissionFromExcelLinkId&qqfile=AB_PTPTA_10358.xls>
<INPUT type="file" value="AB_PTPTA_10358.xls">
</FORM>
然後我使用javascript提交表單。該action
指向在其中返回以下一個servlet:
HTTP/1.1 200 OK
Date: Fri, 27 May 2011 23:33:48 GMT
Server: Oracle-Application-Server-10g/10.1.3.5.0 Oracle-HTTP-Server
Set-Cookie: JSESSIONID=b59f0434f57ace32aebc8b6d113c7e48171824e1d157cf99152140657e6c68a5.e34PaNiLaNuPbO0OaN8Rb3aRbN50; path=/AgriShare-AD-Sys
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/octet-stream; charset=ISO-8859-1
f
{success: true}
0
我的目的是爲{success: true}
在iframe中,在那裏我可以從我連着用iframe.attachEvent('onLoad', callback)
回調訪問它的身體結束。回調完成後,我刪除表單和iframe,以便此代碼可以在同一頁面上再次運行。這實際上有效,但永遠不會第一次加載頁面後。
我第一次提交該表單時,IE6向我展示了一個「文件下載」對話框,要求我保存一個名爲ajaxfileupload.xls
的文件。如果我保存它,這個文件包含{success: true}
,它應該放在iframe中!此外,回調從未被調用。
但是,任何後續調用都可以完美工作!響應數據在iframe文檔主體中結束,回調得到執行。
我比較了來自第一次和第二次嘗試的數據包跟蹤,它們是相同的,所以這必須是瀏覽器問題。爲什麼IE6第一次想將響應保存到文件中?
謝謝。
UPDATE:
我只是想同樣的事情在Tomcat,問題已經消失。從Tomcat的迴應是這樣的:
HTTP/1.1 200 OK
Transfer-Encoding: chunked
Date: Sat, 28 May 2011 00:13:32 GMT
Server: Apache-Coyote/1.1
f
{success: true}
0
仍需要弄清楚它爲什麼不能在甲骨文的工作,雖然...