Jquery 从外部Web服务获取XML
我正在做一个mashup作为个人项目,我正在尝试使用我发现的一个web服务 可以在以下位置找到Web服务: 当我尝试通过ajax调用它时,总是会收到以下消息(在本例中使用FireFox 7): XML错误:不包含任何元素Ubicación: moz nullprincipal:{c46bfb1b-719d-490b-8293-A2EABD2C15A}Número de 利尼亚1号,第1栏: 谷歌翻译版本: XML读取错误:未找到元素位置:moz nullprincipal {719d-490b-c46bfb1b-8293-A2EABD2C15A}第1行第1列的编号: 我尝试了几种方法($ajax、JQuery.get等),但我总是撞到同一堵墙上 例如,您可以尝试: 如果您在浏览器中执行它,它似乎可以工作,但我不知道问题是跨域问题还是XML的输出格式 有人知道我怎么解决这个问题吗?(我看过类似的帖子,但没有明确的解决方案) 我使用的代码是:Jquery 从外部Web服务获取XML,jquery,ajax,web-services,Jquery,Ajax,Web Services,我正在做一个mashup作为个人项目,我正在尝试使用我发现的一个web服务 可以在以下位置找到Web服务: 当我尝试通过ajax调用它时,总是会收到以下消息(在本例中使用FireFox 7): XML错误:不包含任何元素Ubicación: moz nullprincipal:{c46bfb1b-719d-490b-8293-A2EABD2C15A}Número de 利尼亚1号,第1栏: 谷歌翻译版本: XML读取错误:未找到元素位置:moz nullprincipal {719d-490b
var envelope =
{
urlAddress: "www.google.es"
}
$.ajax({
url: "http://www.html2xml.nl/Services/html2xml/version1/Html2Xml.asmx/Url2XmlNode",
dataType: 'xml',
data : envelope,
dataFilter: function (data, type) {
alert(data);
alert(type);
}
});
谢谢 您使用的Web服务没有从google页面返回有效的xml。如果您在google页面上查看Source,在标记后不久,您将看到以下标记:
<textarea id=csi style=display:none></textarea>
如果您从webservice查看源的同一位置,它会将空节点转换为自动关闭标记,但在其后面留下挂起的CDATA标记
<textarea id="csi" style="display:none" /><![CDATA[]]>
如果您的dataFilter函数正在启动,您可以对响应执行替换(“
”,”),但我认为您的错误在此之前就已经发生了。在这种情况下,将数据类型更改为“text”,如果dataFilter函数删除空CDATA并将文本字符串转换为xml对象以返回。可能需要花一点时间来使用它,我还看到了一些关于转换器的信息,如果您有问题,您可能需要研究这些信息。您使用的Web服务没有从google的页面返回有效的xml。如果您在google页面上查看Source,在标记后不久,您将看到以下标记:
<textarea id=csi style=display:none></textarea>
如果您从webservice查看源的同一位置,它会将空节点转换为自动关闭标记,但在其后面留下挂起的CDATA标记
<textarea id="csi" style="display:none" /><![CDATA[]]>
如果您的dataFilter函数正在启动,您可以对响应执行替换(“
”,”),但我认为您的错误在此之前就已经发生了。在这种情况下,将数据类型更改为“text”,如果dataFilter函数删除空CDATA并将文本字符串转换为xml对象以返回。可能需要花一点时间来使用它,我还看到了一些关于转换器的信息,如果您有问题,您可能需要研究这些信息。您可以添加jQuery代码吗?您可以添加jQuery代码吗?