2011-06-11 61 views
0

我有一個使用this腳本的標準文件上傳腳本。當完成上傳,發回一個JSON告訴客戶端上傳就OK,像這樣:Ajax上傳不能在IE9/Chrome上工作

{done: true, error: "No error"} 

當我在Firefox上傳,一切工作順利進行,但IE9 /鉻它休息。 IE告訴我,我需要下載的文件,這樣的形象:

IE9's download dialog

我認爲這個問題是在標題提交給客戶,我嘗試設置內容類型:

  • 應用程序/ JavaScript的
  • 文/ JavaScript的

文件被正確存儲和答案回來了無覆蓋任何腐敗,也不在編碼,或gzip或任何類似的東西。

任何想法?

編輯:忘了補充的鏈接「這個」而且,這是一箇舊版本的插件,而不是當前的一個。

+0

如果IE正在嘗試下載它,那就是一個標題問題。發佈更多的代碼 - 如何製作上傳請求等。 – glortho 2011-06-11 19:07:58

回答

3

我會回答這個問題我自己,因爲我已經找到了解決辦法,至少它的工作原理...

的是,使用iframe發送請求時,似乎反應不應該的內容類型不是application/jsonapplication/javascript或任何其他喜歡它。我的解決方案是將響應發送爲text/html,並在客戶端上執行JSON.parse,它的工作原理類似於魅力。

由於我所有的Ajax調用都指定了我期望的JSON,所以當我進行ajax調用時它也可以正常工作,因爲jQuery處理整個轉換,只有擔心我的問題是與客戶端性能有關的任何問題,但我看到沒有任何問題跡象...

希望任何運行該問題的人都能找到我的答案有幫助!

1

我在過去使用相同的上傳小部件和IE 8時遇到了此問題。

header('Content-Type: application/json')給我修好了。你也試過這個嗎?

+0

我沒有嘗試過那個,但我現在也沒有,也沒有工作... – 2011-06-11 19:29:19

+0

@DavidConde:然後張貼請求和(最重要的)響應頭。應該更深入地瞭解正在發生的事情。 – Jon 2011-06-11 19:43:34