使用jQuery将JSON中的元素转换为html无效

时间:2012-10-18 08:24:10

标签: javascript json

我正在使用以下代码从这个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"
            },
            { … }
        ]
    }

}

2 个答案:

答案 0 :(得分:0)

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

  

Uncaught SyntaxError:意外的令牌;

终止陈述,而不是表达。从;

中删除this.weather[0].date;

如果你解决了这个问题,那么你得到:

  

Access-Control-Allow-Origin不允许加载{HIDpRequest {/ 1}}。

哪个是well covered on this site

答案 1 :(得分:0)

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