【发布时间】:2014-10-20 06:13:19
【问题描述】:
我可以就在以下 url 使用 NWS 预测数据所需的 jquery ajax 语法寻求帮助吗?:
http://forecast.weather.gov/MapClick.php?lat=38.14000&lon=-78.45000&FcstType=digitalDWML
我尝试了多种可能性,并怀疑我的 dataType 规范存在问题。指定 xml 和 json 会导致“Access-Control-Allow-Origin”错误。指定 jsonp 会导致我无法追踪的“意外令牌
http://jsfiddle.net/gbkester/hgt8bvb8/
$(document).ready(function() {
$.ajax({
type: "GET",
url: "http://forecast.weather.gov/MapClick.php?lat=38.14000&lon=-78.45000&FcstType=digitalDWML",
dataType: 'jsonp',
success: function (json) {
console.log(json)
}
})
})
【问题讨论】:
-
问题在于您正在进行跨域内容调用(浏览器所在的站点同时也在调用 nws)。尝试在您的服务器中启用 CORS 标头。仅当服务器将相应响应时,设置数据类型才有用。见这里:stackoverflow.com/questions/15412226/…
-
感谢杰森的回复。我希望找到一种方法让它与 jsonp 一起工作。一时兴起,我尝试将 FcstType 变量从“digitalDWML”更改为“digitalJSON”。这似乎确实给出了 JSON 结构化返回,但 Chrome 和 Firefox 都抛出了一个奇怪的语法错误,指向第一个键:值对中的冒号。知道为什么吗?我已经更新了小提琴。