1

我正在使用以下代码从这个 JSON 中获取一些元素,但似乎没有任何效果。有人知道我做错了什么吗?(我花了很长时间试图弄清楚)。

$(document).ready(function() {

$.getJSON('http://free.worldweatheronline.com/feed/weather.ashx?q=Stockholm&format=json&num_of_days=2&key=e8536d3a52101433121710', function(Wdata) {
                $.each(Wdata.data, function() {

                $('<div id="test"></div>').append(

                        this.weather[0].date;

                        ).appendTo('body');

                  });
    });
});

我的 HTML 看起来像这样:

<!doctype html>
<html lang="se">
    <head>
        <meta charset="utf-8" />
        <title>Title of This Web Page</title>
        <script src="scripts\jquery-1.8.2.js" type="text/javascript"></script>
        <script src="scripts\js.js" type="text/javascript"></script>
    </head>

    <body>
              <div id="test">
              </div>
    </body>

</html>

JSON 看起来像这样:

{

    "data": {
        "current_condition": [ … ],
        "request": [ … ],
        "weather": [
            {
                "date": "2012-10-17",
                "precipMM": "0.8",
                "tempMaxC": "11",
                "tempMaxF": "51",
                "tempMinC": "8",
                "tempMinF": "46",
                "weatherCode": "119",
                "weatherDesc": [
                    {
                        "value": "Cloudy"
                    }
                ],
                "weatherIconUrl": [
                    {
                        "value": "http://www.worldweatheronline.com/images/wsymbols01_png_64/wsymbol_0003_white_cloud.png"
                    }
                ],
                "winddir16Point": "SW",
                "winddirDegree": "224",
                "winddirection": "SW",
                "windspeedKmph": "27",
                "windspeedMiles": "17"
            },
            { … }
        ]
    }

}
4

2 回答 2

0

使用 JavaScript 控制台。阅读它给你的错误。

Uncaught SyntaxError: Unexpected token ;

终止语句,而不是表达式。;从_this.weather[0].date;

如果你修复它,那么你会得到:

http://free.worldweatheronline.com/feed/weather.ashx?q=Stockholm&format=json&num_of_days=2&key=e8536d3a52101433121710. Origin http://fiddle.jshell.netAccess-Control-Allow-Origin 不允许XMLHttpRequest 无法加载。

这个网站上有很好的介绍

于 2012-10-18T08:28:09.043 回答
0

如果您的请求是跨域的 = url 不是来自您的域,您应该设置跨域标志或使用 jsonp。

于 2012-10-18T08:28:56.530 回答