#jquery #json #cordova
#jquery #json #кордова
Вопрос:
Я пытаюсь создать приложение для ios с помощью phonegap
Я хочу, чтобы эти данные с моего удаленного сервера отображались в phonegap. На моем сервере у меня есть php / mysql, на стороне клиента у меня есть phonegap и разрабатываемое приложение в jquery mobile.
Я знаю, что мне нужно использовать jsonp, но у меня проблема.
На стороне сервера я разработал очень простое приложение.
У меня есть две страницы php.
Первая страница php — list.php , отображение списка навигации (главная страница, о нас, галерея). Вторая страница php — text.php отображение информации о list.php . Например, для страницы about отображается информация «о нас», для галереи отображаются изображения и некоторая текстовая информация…
На стороне клиента у меня также есть две HTML-страницы.
list.html — эта страница, с которой я успешно связываюсь list.php использование jsonp.
На list.html — я извлекаю данные со своего удаленного сервера и показываю навигацию (главная страница, о нас, галерея). Так что страница отображает список навигации, ничего особенного.
listtext.html — это проблемная html-страница, которую я не знаю, как решить.
Когда пользователь открывает list.html в браузере он может нажать кнопку «Домой» или кнопку «О нас» (я делаю ссылку в хорошем формате: listtext.html?id= 1), но я не знаю, как разобрать listtext.html . Я полагаю, что мне нужно получить, но я не знаю, как это сделать.
И так далее listtext.html мне нужно увидеть подробную информацию для дома, о нас, галерея.
Я прикрепил код — это listtext.html страница — просто javascript, потому что проблема здесь очевидна
$(document).ready(function(){
var output = $('.nesa');
$.ajax({
url: 'http://www.example.com/text.php',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
$.each(data, function(i,item){
var final= item.id;
output.append(final);
});
},
error: function(){
output.text('There was an error loading the data.');
}
});
});
это text.php страница:
<?php
//header('Content-type: application/json');
включить ‘config.php ‘;
$con = mysql_connect($dbhost, $dbuser, $dbpass) или die («Не удалось подключиться: » . mysql_error()); mysql_select_db($dbname, $con);
$id=$_GET[‘id’]; // Сбор данных из строки запроса
$sql = «выберите * из ios, где id = $id»; $result = mysql_query($sql) или die («Ошибка запроса: » . mysql_error());
$records = array();
while($row = mysql_fetch_assoc($result)) { $records[] = $row;
}
echo $_GET[‘jsoncallback’] . ‘(‘ . json_encode($records) . ‘);’;
?>
Я уверен, что text.php все в порядке, я закодирован в jason. Я получил вывод jsonp из text.php
Когда я нажимаю mysite.com/text.php?id=1 я получил информацию для «домашней» страницы в формате jason.
Но моя проблема в javascript (jquery), потому что я не знаю, как анализировать.
Итак, не могли бы вы помочь мне, как выполнить синтаксический анализ с помощью jason в javascript.
Спасибо.
Ответ №1:
Попробуйте это:
success: function(data, status){
var jsonData = JSON.parse( data );
}
И вы можете использовать jsonData
Например, чтобы получить длину jsonData.length
Комментарии:
1. Здравствуйте, мне это не удалось. Я работаю с jquery. Кто-нибудь может мне помочь, я действительно застрял. Спасибо
2. Можете ли вы вставить ответ в формате JSON?
3. Я не получаю никакого ответа. Я смотрю в firefox в консоли, ошибок нет. Есть идеи, как это решить?
4. Вы можете видеть все свои запросы на сервере и ответы в FF, если вы щелкните правой кнопкой мыши на странице, перейдите к элементу проверки и откройте вкладку Сети, и вы увидите свои запросы, если вы нажмете на какой-либо запрос, вы увидите вкладку ответов справа, нажмите на нее, и там будет ваш ответ. Если вы ничего не получаете, значит, что-то не так с вашим php или, возможно, вы отправляете неправильные параметры. Посмотреть изображение
5. Привет, друзья, у меня все еще нет решения. Из запроса с сервера я получил ошибку запроса: у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с » в строке 1. Но я получил эту ошибку, потому что я не знаю, как написать правильный синтаксис .ajax. Мне нужно в javascript как-то передать get из php. Вы знаете, как это сделать?