Это для мобильного приложения jQuery, использующего версию 1.0.1.
Я пытаюсь получить данные из моего файла getmovies.php
, который выводит JSON, для использования в функции jQuery, которая добавляет данные в неупорядоченный список на моей HTML-странице.
Моя HTML-страница отображается правильно, но функция getMoviesList() не добавляет элементы списка, поэтому область содержимого остается пустой.
Я предполагаю, что с моей функцией $.each() что-то не так. Мне удобнее работать с PHP, но я пытаюсь лучше познакомиться с jQuery и JSON для перемещения данных в мобильных приложениях jQuery.
getmovies.php
выводит JSON следующим образом:
{"items":[
{"movieID":"65086","title":"The Woman in Black","poster":"\/kArMj2qsOnpxBCpSa3RQ0XemUiX.jpg"},
{"movieID":"76726","title":"Chronicle","poster":"\/853mMoSc5d6CH8uAV9Yq0iHfjor.jpg"}
]}
Мой Javascript выглядит следующим образом:
var serviceURL = "http://mydomain.com/app3/services/";
var movies;
$('#moviesPage').bind('pageinit', function(event) {
getMoviesList();
});
function getMoviesList() {
$.getJSON(serviceURL + 'getmovies.php', function(data) {
$('#moviesList li').remove();
movies = data.items;
$.each(movies, function(index, movie) {
$('#moviesList').append('<li><a href="movie-details.html?movieID=' + movie.movieID + '">' +
'<img src="posters/' + movie.poster + '"/>' +
'<h4>' + movie.title + '</h4>' +
'<p>Other details...</p>' +
'</a></li>');
});
$('#movieList').listview('refresh');
});
}
Мой HTML выглядит так:
<div id="moviesPage" data-role="page">
<div data-role="content">
<ul id="moviesList" data-role="listview" data-filter="true"></ul>
</div><!-- /content -->
</div><!-- /page -->
Я пытаюсь изменить следующий пример приложения в соответствии со своими потребностями: http://coenraets.org/blog/2011/10/sample-application-with-jquery-mobile-and-phonegap/.
Спасибо за любую помощь, которую вы можете предложить.
console.log(movie)
в первой строке каждого? - person Adam Merrifield   schedule 26.02.2012console.log()
. Я работаю со своими файлами в редакторе кода и загружаю их на свой сервер для тестирования. - person Mark Rummel   schedule 26.02.2012$('#moviesPage').bind('pageinit', function(event) { getMoviesList(); });
не привязывают эту страницу к правильному запуску этой функции. - person Adam Merrifield   schedule 26.02.2012$( document ).delegate("#moviesPage", "pageinit", function() {...
, и теперь он извлекает данные. Мне просто нужно исправитьlistview('refresh')
, для которого у меня уже есть решение. В очередной раз благодарим за помощь! - person Mark Rummel   schedule 26.02.2012