我有一个使用xml文档的旧网站,当我创建它时,我有firefox和IE7进行测试,它工作得很好。从那以后,IE8出现了,并且它发现网站不再正常工作。 这是当前的代码:
if (window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
XMLHttpRequestObject.overrideMimeType("text/xml");
XMLHttpRequestObject.open("GET", "produse.xml", true);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4)
{
xmlDocument = XMLHttpRequestObject.responseXML;
removeWhitespace(xmlDocument);
}
}
XMLHttpRequestObject.send(null);
}
else if (window.ActiveXObject)
{
xmlDocument= new ActiveXObject("Microsoft.XMLDOM");
xmlDocument.async=false;
if (xmlDocument .readyState == 4)
{
xmlDocument.load("produse.xml");
}
}
但是我收到了这个错误:
Message: Object doesn't support this property or method
Line: 19
Char: 3
Code: 0
涉及:
XMLHttpRequestObject.overrideMimeType("text/xml");
我应该使用什么?
答案 0 :(得分:2)
此页面显示了firefox / ie / ie8之间存在的差异,并提供了一些如何操作的示例:
http://www.javascriptkit.com/jsref/ajax.shtml
大多数情况下它说IE8不支持这种方法,你必须确保你的服务器正在向传出的响应添加正确的标题(text / xml)。
它还有http://www.javascriptkit.com/dhtmltutors/ajaxgetpost3.shtml的链接,解释了常见的陷阱和IE问题。
它说:
if (mygetrequest.overrideMimeType)
mygetrequest.overrideMimeType('text/xml')
答案 1 :(得分:1)
jQuery将是我的选择。它的速度要快得多,并且支持跨浏览器和CDN。
您可以将代码删除到几行。
$.get('ajax/test.html', function(data) {
$('.result').html(data);
alert('Load was performed.');
});