我正在使用 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 以匹配其他网站上的内容,但无济于事。
有任何想法吗?