jQuery GET 不读取 IE 中的 HTML 响应数据

标签 jquery ajax internet-explorer

我正在使用 jQuery(在 Wordpress 中)进行一个非常简单的 ajax 调用 - 使用 GET 获取页面内容,然后将响应读入 jQuery 对象。这在除 IE8 之外的所有浏览器中都可以正常工作(不关心 IE6/7。相关代码与我在以前的网站中使用的代码相同,所有这些都在 IE8 中工作。代码如下:

var ajax_params = {
url: relative_url,
type: 'GET',
dataType: 'html',
data: {},

success: function(data, textStatus, xhr) {

     // create jquery element from html string
    data = $('<div/>').append(data);

    pre($(data).find('#content'));
    pre($('#content'));

    plugin.replace_content(data, relative_url);

},

};

plugin.ajax_call = $.ajax(ajax_params);

pre() 函数只是对 console.log 的调用,我在 IE8 中使用 firebug lite 进行调试。我已经确定 ajax 调用正在工作,并且所请求页面的 HTML 在 data 中成功返回。多变的。它卡在data = $('<div/>').append(data)上,其中结果是一个空 div。正如我所说,这个确切的代码可以在其他网站上运行,所以我无法解释这一点。我已将 jQuery 版本降级至 1.8.3 以匹配其他网站上的版本,但无济于事。

有什么想法吗?

最佳答案

我们发现了问题所在:这是一个内存问题,是由于 ajax 响应太大而 IE 无法解析造成的。这可以解释为什么完全相同的方法在其他网站上有效。我们通过从响应 html 中删除尽可能多的内容来修复此问题。另一种解决方案是将响应数据分割成 block 并发出多个 ajax 请求。

关于jQuery GET 不读取 IE 中的 HTML 响应数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15955638/

相关文章:

jquery - 页面加载后更改 CSS 值?

php - 从ajax捕获php端的数据

c# - 如何从 WCF 服务流下载文件?

使用表格的 CSS Sprite 按钮...无法在 IE 中删除表格后的换行符(怪癖模式)

javascript - 有没有办法在 IE7 或 IE8 中使用 Canvas?

jquery - window.location 受查询字符串限制

javascript - 使用绝对图像位置

javascript - 如何缩放 iframe 中的内容以适合我的页面大小

php - 我无法使用 AJAX (XMLHttpRequest) 获取 responseXML

browser - 有没有一个很好的类比来解释为什么网站对非标准 IE 标签的依赖在未来几年将会减少?