【问题标题】:jquery ajax syntax for NWS forecast dataNWS 预测数据的 jquery ajax 语法
【发布时间】: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 都抛出了一个奇怪的语法错误,指向第一个键:值对中的冒号。知道为什么吗?我已经更新了小提琴。

标签: jquery ajax


【解决方案1】:

我通过设置服务器端代理解决了这个问题。现在浏览器不会面临跨域阻塞。感谢您的帮助

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2015-12-17
    相关资源
    最近更新 更多