使用带有JSON的Yahoo Weather API和脚本标记

Rae*_*kye 3 json weather cross-domain yahoo-api

我正试图用JavaScript获取雅虎天气.我最初做了代理,但发现笨拙.

所以可以从http://weather.yahooapis.com/forecastjson?w=9807获取JSON响应,我知道脚本标记可以避免相同的域限制,但我收到语法错误.

雅虎的JSON响应没有填充; 我有回调工作,但浏览器没有正确解释JSON.

我见过许多例子,比如如何用Jquery ajax读取雅虎天气JSON数据,但它太奇怪了,因为所有这些都给了我跨域错误.

谁能帮我这个?跨域,雅虎天气,没有特殊服务器或YQL或类似的东西.开箱即用的东西.

osa*_*oun 7

如果您期望,JSON-P则需要向查询添加回调函数名称.使用jQuery,这总是如此?.jQuery将用随机生成的函数名替换它:

var query = escape('select item from weather.forecast where location="CAXX0518"'),
    url = "http://query.yahooapis.com/v1/public/yql?q=" + query + "&format=json&callback=?"; 

$.getJSON(url, function(data) {
  console.log( data );
});
Run Code Online (Sandbox Code Playgroud)

  • 你忘了加载jQuery:`<script src ="// ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"> </ script> (3认同)