Я создал функцию и обратный вызов для получения некоторых данных о погодных предупреждениях. По какой-то причине данные возвращаются как «НЕ УКАЗАНО». Я собираю данные через json, хотя я бы предпочел ... получить XML и обратный вызов json, однако fetch и return json в порядке.Запрос Json возвращается «НЕ УКАЗАН» с использованием Wunderground API
Ниже мой код, но я поставил его в 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>
Когда я запускаю код он отображает данные как неопределенные. Почему он не перенаправляет правильные данные?
Привет, спасибо, что ответили. То, что я запрашиваю, - это функция оповещений в Европе http://www.wunderground.com/weather/api/d/docs?d=data/alerts. Я не вижу способа запросить это с помощью автозаполнения. Мой целевой пункт назначения уникален, поэтому, когда я помещаю имя вместо значения zmw, он возвращает те же данные. Есть ли другой способ сделать это? – ServerSideSkittles
Ну, это не замечательное продолжение, но я нашел это: http://stackoverflow.com/questions/5584923/a-cors-post-request-works-from-plain-javascript-but-why-not- with-jquery Это похоже на php-решение, которое готовит запрос POST с заголовками, но предполагает, что сервер поддерживает запросы CORS. –