В приведенном ниже коде я попытался перебрать строку объекта JSON. Однако я не получаю желаемого результата. Мой вывод на веб-странице выглядит примерно так:
+ Item.temperature ++ item.temperature ++ item.temperature ++ item.temperature
Сигнал тревоги, который выводит температуру, работает хорошо. Часть, где я пытаюсь получить доступ к значению путем перебора строки объекта JSON, похоже, не работает. Может ли кто-нибудь помочь мне исправить это?
Код
<body>
<script>
$.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2',
function(data) {
$.each(data.weatherObservations, function(i, item) {
$("body").append("+item.temperature+");
if (-i == 3-) return false;
});
alert(data.weatherObservations[0].temperature);
});
</script>
</body>
3 ответа
Не используйте кавычки в $("body").append("+item.temperature+");
в части .append()
.
Должно быть
$(document.body).append(item.temperature);
Написание этого выражения с кавычками, как вы сделали, просто добавляет string
снова и снова. Java // Ecmascript интерпретирует что-либо в кавычках как строковый литерал.
Обратите внимание, что я также заменил "body"
на document.body
. Это в основном связано с производительностью / доступом, поэтому лучше карма.
"+item.temperature+"
означает строку, которая является "+item.temperature+"
"pre" + item.temperature + "post"
объединит переменную со строками.
$.getJSON('http://ws.geonames.org/weatherJSON?north=90&south=-9.9&east=-22.4&west=55.2',
function (data) {
$.each(data.weatherObservations, function (i, item) {
$("body").append(item.temperature + ",");
if (i == 3) return false;
});
alert(data.weatherObservations[0].temperature);
});
Ваш код выполняет итерацию, но вы добавляете «+ item.temperam +», вы не хотите делать что-то вроде
$("body").append("Temp is " + item.temperature);
Или
$("body").append(item.temperature);
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.