我有一個帶有文件上傳的表單,下面列出了上傳文件的網格。我正在使用ajaxForm(jquery.form.js)執行ajax文件上傳。爲了響應成功的文件上傳,我期望從服務器返回的安全代碼(我在服務器上創建它),稍後將其作爲參數傳遞,同時從Grid中的鏈接下載該文件。帶有文件上傳的taconite和ajaxForm組合的IE問題
如果文件上傳失敗(即無效的文件或超大文件),我已經通知有關同一用戶。我使用相同的taconite plugin。成功上傳將顯示該消息,然後調用一個函數在網格中設置安全代碼。如果不成功顯示消息給用戶,並調用函數從網格中刪除上傳條目(因爲它不成功)
我有類似的機制從網格刪除場 - 刪除發佈請求發送($ .post(.. 。))和taconite結果從服務器返回。如預期的那樣工作正常。但.ajaxForm(帶文件上傳)不能像IE瀏覽器那樣工作。
下面是給ajaxForm通話的片段 -
成功:函數(responseXML的,狀態文本,XHR,FRM){...}
隨着FF(火狐)我不知道不得不擔心關於任何事情 - 對taconite響應(在responseXML)進行正確解析。 但用IE響應XML是xml對象。 IE的某些版本從xhr.responseXML.xml或xhr.responseXML.text或xhr.responseXML.documentElement.textContent提供xml文本 - 但它不一致。無論如何獲得XML文本?
除此之外還不會調用/執行鐵燧巖插件操作,即使我手動設置一個臨時DIV XML內容!
我知道這聽起來很複雜,但我唯一的線索是它有ajaxForm + taconite +文件上傳的問題。如果它沒有文件上傳,那麼鐵燧石按預期的方式執行兩個IE & FF(如我的刪除文件功能)。如果您有任何建議可以調整並嘗試,請與我們分享!
這裏有一個樣品返回燧巖 -
<taconite>
<replaceContent select="#fileOprMsg">
<span id="oprResult">Operation was successful<span class="error"></span></span>
<script>$().ready(function() { showOprResult('#oprResult', 1); });</script></replaceContent>
<eval><![CDATA[ fileUploadResponse('dcrc%22uycok0lri%3d9%3a3g%3a6%3a%3b%2f7ehd%2f6chf%2f%3a6de%2fghgcg4c7dgh4%3dVtwg',true,-1); ]]> </eval>
</taconite>