IE8没有正确阅读我的XML与jQuery/jsonp

问题描述:

我正在使用jsonp调用(jQuery.getJSON),返回的数据是XML。 我可以很好地在FFIE9中阅读它,但它不适用于IE8。IE8没有正确阅读我的XML与jQuery/jsonp

由于我使用的是jsonp调用,因此我无法使用this SO question中建议的dataType解决方案。在回调中,我解析XML

$(xml).find("title").text() 

FF和IE9可以正常工作,IE8失败。 我能做什么? PS:using jQuery1.4

+0

失败怎么样?在IE中有FAIL消息?其他方式? – 2011-03-08 17:05:15

+0

没有,没有消息。如果我提醒结果,它只是空的。 – millebii 2011-03-08 17:12:43

您正在使用getJSON,其中“使用GET HTTP请求从服务器加载JSON编码的数据”,并返回XML编码的数据?
我认为你的问题。

尝试使用jQuery.get与替代的dataType 'XML',但它不应该工作:
jQuery.get(网址,[数据],[成功(资料,textStatus,jqXHR)],[的dataType])

jQuery.getJSON
jQuery.get

+0

是的,的确我在使用getJSON。服务器返回一个json编码的数据,因此dataType = json,但是该数据的内容是我需要查询的XML。我会尝试你的想法和报告。 – millebii 2011-03-09 11:05:13

+0

没有尝试使用$ .ajax调用您的选项...没有更好的工作。 – millebii 2011-03-09 12:15:34

+0

如果我理解的很好,你的xml包含一个

? 也许IE8不支持这个标签。 – <span class="text-secondary"> <small> <a rel="noopener">GMO</a></small></span> <span>2011-03-09 14:30:37</span>

我相信问题是,IE8对HTML文档保留的标题标签。尝试在XML数据中使用它失败。我建议一个简单的黑客攻击,就是我在标题标签名称被替换为'titlex'的项目上使用这将打败ie8并允许您检索XML文件中的标题元素,如RSS提要。

xml = xml.replace(/title/g, 'titlex'); //hack for ie8 
var title = $(this).find('titlex').text(); //success!