【发布时间】:2015-03-05 02:39:22
【问题描述】:
由于某种原因,国家气象局的 xml 网站不适合我。当我说“不起作用”时,我的意思是我已经尝试过 XMLHttpRequest 和 ajax 从http://w1.weather.gov/xml/current_obs/KSFO.xml 获取 xml 数据,以便编写一个显示当前天气状况的脚本。这是我的代码:
(function (){
updateWeather();
})();
function updateWeather(){
var url= "http://w1.weather.gov/xml/current_obs/KSFO.xml";
$.ajax({
url: url,
dataType: 'xml',
error:function(xhr){
document.getElementById("weatherbox").innerHTML="error" +xhr.status+xhr.statusText;},
success:function(result,status,xhr){
document.getElementById('weatherbox').innerHTML="success";
}
});
}
我知道您通常不能跨域请求信息,但 NWS 网站说它向公众开放并且我使用 ajax 调用,因为似乎没有其他人有这个问题,所以它一定不是跨域错误,但我尝试在 ajax 调用中使用crossDomain: true。我尝试将网址设为“https:....”,但没有任何效果。我也尝试在 ajax 调用中指定type:'GET'。每次我运行脚本时,它都会返回 error0error 。有没有人有任何想法? ajax 调用的有效实现会更好,我已经为此工作了好几天,我似乎无法检索这些数据,这让我发疯。
针对第一个评论,我之前看过它,但似乎SOAP服务是用于请求数据包,例如“SF从1月到9月的天气”之类的,从这个看起来:
“当前天气状况的 XML 提要 此页面提供对美国和美国领土上约 1,800 个地点的观测当前天气状况的访问。提供了两种设计用于计算机到计算机数据传输的文件格式。提供 RSS 和 XML 列表以帮助自动传播此信息。有关 RSS 和 XML 格式/提要的更多信息。欢迎评论和反馈。通过此产品描述文档可以了解有关此产品的更多信息。
选择一个州或地区以查找可用的 XML 天气观测提要:
在上方选择一个州/地区以列出观测站的显示列表所有可用站的索引列表以 XML (900kb) 格式提供:XML 格式"
和
"关于 XML NWS 提供使用 xml 标签格式化的每小时天气观测,以帮助用于填充数据库、在网页或其他类似应用程序上显示信息的自动化程序解析信息。这种格式不能与 RSS 混淆,并且不能被 RSS 阅读器和聚合器读取。这些文件以易于解析的字符串形式提供比 RSS 提要更详细的信息。 RSS 和 XML 提要都提供图标图像的 URL。此外,还提供了 XML 标记中可能出现的短语列表和建议的图标。要访问这些提要,请选择一个州,然后选择列中的最后一个 XML 链接。"
来自这个网站:http://w1.weather.gov/xml/current_obs/
我应该能够只使用我上面发布的链接中的 xml 来检索当前观察数据,而不是像用于计算或预测预测趋势那样的包,而且似乎 SOAP 请求服务实际上不起作用出于我的目的,因为我不能只订购一个数据点。
【问题讨论】:
标签: javascript jquery ajax xml