2012-11-23 21 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