2012-11-23 78 views
2

我正在EE中使用一個safecracker表單來通過前端上傳一個條目,並且我正在使用jQuery表單插件。IE嘗試從EE和jQuery表單插件下載json響應

問題是IE嘗試下載json響應。我知道這是一個問題,並且我已經尋找可行的解決方案,但是他們都沒有使用EE和jQuery Form Plugin。

這裏是AJAX JS:

$('#publishForm').ajaxForm({ 
    dataType: 'json', 
    beforeSubmit: function() { 
     // Photo input validation 
     var photo = $('#publishForm input[type="file"]').val(); 
     if(photo == null || photo == '') { 
      $('#publishForm #photo_error').show();    
      return false; 
     } 
    }, 
    success: function(data) { 
     if (data.success) { 
      console.log('You successfully added a new entry with entry_id ' + data.entry_id); 
     } 
     else { 
      console.log('Failed with the following errors: ' + data.errors.join(', ')); 

     } 
    } 
}); 

我不知道是否有另一種放慢參數我需要把在解決它或者做一些哈克修復。

感謝

+0

的可能重複的[在IE JSON響應下載(7〜10)](http://stackoverflow.com/questions/13943439/json-response-download-in- ie710) – Joe

回答

1

什麼是你的響應頭的內容類型/ MIME類型,你正在應對的呢? 難道

content-type: application/json

這似乎是一個IE漏洞,如果你使用的是像

Content-Type: application/json

的IE客戶端下載響應大小寫標題設置。

實施例響應頭:

HTTP/1.1 200 OK 
    Date: Fri, 23 Nov 2012 19:08:26 GMT 
    content-type: application/json 
    Access-Control-Allow-Origin: * 
    Access-Control-Request-Method: POST, GET, OPTIONS 
    Cache-Control: o-cache 
    Expires: -1 
    Access-Control-Request-Headers: X-PINGOTHER 
    Connection: close 
+0

謝謝@johannesboyne,我不知道如何通過AJAX發送一個條目工作與EE頭。我知道EE中的頭文件有時可以成爲一種解決方法。 我應該看看將標題添加到AJAX? – zizther

+0

絕對是!在瀏覽器中的開發人員工具中簡單查看網絡面板(我更喜歡使用chrome)應該爲您提供所有請求的列表。導航到特定的ajax請求。並看看響應頭。 看看我的答案爲例答覆標題 – johannesboyne

+0

再次感謝@johannesboyne。非常感激 – zizther