【问题标题】:jQuery File Upload response does not contain jqXHR.responseText property in IE < 10jQuery 文件上传响应在 IE < 10 中不包含 jqXHR.responseText 属性
【发布时间】:2015-12-30 16:07:59
【问题描述】:

在尝试从服务器获取响应 Html 时,我在 ie8/ie9 上遇到了一些问题。

$(function() {
    $('#fileupload').fileupload({
        url: '@Url.Action("Save", "CounterDoc")',
        dataType: 'json',
        formData: window.globalParams, 
        fail: function (e, data) { // case when server returns NOT JSON - is fail.                 
            var responseObj = {};
            responseObj.responseText = data.response().jqXHR.responseText;
        }
    });
});

这里 data.response().jqXHR.responseText 在旧的 Ies 中总是未定义。我究竟做错了什么?我可以在旧浏览器中获取响应正文吗?

【问题讨论】:

  • 您能确认您使用的是哪个文件上传插件吗?听起来很可能是插件的问题;也许它不支持旧的IE版本?
  • @Spudley 我正在使用 blueimp jquery 文件上传。并且描述说它支持从ie6开始的旧版ie。我承认,ie8 不支持 xhr,这导致了我的问题。但我仍然有一个问题:“我能以某种方式从“数据”或其他地方获取我的 ajax 请求的响应正文吗?”

标签: javascript jquery internet-explorer-8 internet-explorer-9 jquery-file-upload


【解决方案1】:

FAQ找到答案:

由于 ie

$.ajaxSetup({
        converters: {
            'iframe json': function (iframe) {

                var result = {};
                result.responseText = iframe && $(iframe[0].body)[0].innerHTML;

                if (!IsJsonString(result.responseText)) { // answer IS NOT JSON, html contains error data

                    throw result;
                }
                else { // server sent valid JSON - OK
                    return $.parseJSON(result);    
                }
            }
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多