気象警報に関するデータを取得する関数とコールバックを設定しました。何らかの理由で、データが「未定義」として返されます。私はjsonを介してデータをフェッチしていますが、XMLをフェッチしてjsonをコールバックすることを好みますが、jsonをフェッチして返すことは問題ありません。
以下は私のコードですが、読みやすくするためにjsfiddleに入れました。
http://jsfiddle.net/seversides/G7Wr8/
Javascript
$(function () {
// Specify the location and Api key
var apiKey = 'myapikey';
var location = 'zmw:00000.1.16172';
// Run the query (pull data from feed)
var url = 'http://api.wunderground.com/api/' + apiKey + '/alerts/q/' + location + '.json';
window['wCallback_3'] = function(data) {
// Get any weather alerts
var info = data.alerts;
// Warning level and color
$('#wWarning .wLevel').append('<TD>' + info.wtype_meteoalarm + '</TD>');
$('#wWarning .wColor').append('<TD>' + info.level_meteoalarm_name + '</TD>');
};
// Callback
$.ajax({
url: url,
dataType: 'jsonp',
contentType: "application/json",
cache: true,
jsonpCallback: 'wCallback_3'
});
});
HTML
<div id="wWarning">
<table class="wBox">
<h1 class="wLevel"></h1>
<h1 class="wColor"></h1>
</table>
</div>
コードを実行すると、データが UNDEFINED として表示されます。正しいデータを返さないのはなぜですか?