Как вывести json на экран?
Доброго всем времени суток!
JS
success: function(data_success)
{
var content = '';
$(data_success.user).each(
function()
{
alert(1);
content += '<div>'
+ '<p><b>' + $(this).attr('id_position') + ' | ' + $(this).attr('name') + '</b></p>'
+ '</div>';
});
alert(content);
$('#dialog_authorization').html(content);
$('#dialog_authorization').parent().find('.ui-dialog-buttonpane').hide();//убрать кнопку
}
PHP
$cook[] = array('id_position'=>$user['id_position'],
'name'=>$user['name']);
$cook[] = array('id_position'=>$user['id_position'],
'name'=>$user['name']);
...
$cookie = array('user'=>$cook);
//echo $result;
print json_encode(convert('cp1251', 'utf-8', $cookie));
сервер возвращает json, но alert(content)-выводит пустое окно. Почему так? :help: |
alert(1) - не выводится, что может быть такое с функцией each()?
|
:cray:
|
1. У вас вообще success отрабатывает? Может запрос не прошел, вы ждете success, а он дает error
2. если да, то смотрели ли, чему равно data_success? |
Вложений: 1
Цитата:
success: function(data_success)
{
var content = data_success;
/*$(data_success.user).each(
function()
{
alert(1);
content += '<div>'
+ '<p><b>' + $(this).attr('id_position') + ' | ' + $(this).attr('name') + '</b></p>'
+ '</div>';
});*/
alert(content);
$('#dialog_authorization').html(content);
$('#dialog_authorization').parent().find('.ui-dialog-buttonpane').hide();//убрать кнопку
//window.location.reload(true);
// Редирект после 3 сек.
//setTimeout('go_to_private_page()', 3000);
}
alert(content) - срабатывает Вложение 680 |
Вложений: 1
По такому же алгоритму вывожу новости все работает
success: function(result)
{
//alert('!!!');
if (result.type == 'error')
{
alert('error');
return(false);
}
else
{
var content = '';
$(result.news).each(
function()
{
content += '<div>'
+ '<p><b>' + $(this).attr('putdate_format') + ' | ' + $(this).attr('name') + '</b></p>'
+ '<p>' + $(this).attr('urlpict') + $(this).attr('body') + '</p>'
+ '<p>' + $(this).attr('url') + '</p>'
+ '</div>';
});
//alert(content);
$('#dialog_news_content').html(content);
}
}
Вложение 681 Только недавно изучаю javascript, использую в проекте jQuery может что с библиотекой. почему то не срабатывает each(). |
Если делаю так
var content = data_success.user; то alert(content) - undefined ЧТО НЕ ТАК! |
У вас на первой картинке в результате присутствует массив test, состоящий из объектов с полями id и name. А проходить вы пытаетесь по user, которого там просто нет.
|
Это менял название полей, чтобы удостовериться, что JSON создается.
Я уже решил проблему. Спасибо за поддержку.:dance: |
| Часовой пояс GMT +3, время: 02:35. |