Я играю с JSON в течение нескольких дней, и я действительно считаю это довольно классным способом обмена данными, использующими его... Я создаю приложение, использующее jQuery mobile, где я пытаюсь заполнить данные Json, до сих пор я попробовали такой подход:
Из json файла с именем movie-details.json у меня есть следующее:
{"movies":[{"id":"1","name":"Dabangg2","picUrl":"http:\/\/www.naz8.com\/images\/Dabangg2.jpg"},{"id":"2","name":"Talassh","picUrl":"http:\/\/www.naz8.com\/images\/talassh.jpg"},{"id":"3","name":"JAB TAK HAI JAAN","picUrl":"http:\/\/www.naz8.com\/images\/jthj.jpg"},{"id":"4","name":"Khiladi 786","picUrl":"http:\/\/www.naz8.com\/images\/khiladi786.jpg"}]}
и я могу получить данные через следующее, чтобы динамически создать подробный список:
<script type="text/javascript">
$.getJSON("movie-details.json", function(movies){
//Start off with an empty list every time to get the latest from server
$('#movieList').empty();
//add the movie items as list
$.each(movies, function(i, movie){
$('#movieList').append(generateMovieLink(movie));
});
//refresh the list view to show the latest changes
$('#movieList').listview('refresh');
});
//creates a movie link list item
function generateMovieLink(movie){
//debugger;
return '<li><a href="javascript:void(0)'
+ '" onclick="goToMovieDetailPage(\''
+ movie.name
+ '\',\''
+ movie.picUrl +'\')">'
+ movie.name
+ '</a></li>';
}
function goToMovieDetailPage(movieName, moviePicUrl){
//create the page html template
var moviePage = $("<div data-role='page' data-url=dummyUrl><div data-role='header' data-add-back-btn='true'><h1>"
+ movieName + "</h1></div><div data-role='content'><img border='0' src='"
+ moviePicUrl + "' width=204 height=288></img></div><div data-role='footer' data-position='fixed'><h4>"
+ movieName + "</h4></div></div>");
//append the new page to the page container
moviePage.appendTo( $.mobile.pageContainer );
//go to the newly created page
$.mobile.changePage( moviePage );
}
</script>
как я могу заполнить данные из php файла, например movie-details.php:
<?php
include('connection.php');
$var = array();
$sql = "SELECT * FROM movies";
$result = mysqli_query($con, $sql);
while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}
echo '{"movies":'.json_encode($var).'}';
?>
Какие переменные я должен объявить для извлечения json-данных из объекта objet в php файле?
Например:
//ПРОСТО ИДЕЯ... Я ЕСМЬ КОНФЕРЕНЦИЯ..
var url = "....";
$.getJSON(URL, функция (...) {
$.each(movie.movies, function (i,...)
Ваша помощь очень ценится...
Вы должны json закодировать весь shebang.
echo json_encode(array("movies" => $var));
Что касается метода jquery, то работает $.getJSON('<url>',...)
.
shebang
Самый простой способ для меня - просто визуализировать данные как дерево с консоли.
$.getJSON(url, function(data){
console.log(data)
});
movies
- это объект, массив -movies.movies