Как вывести 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, время: 00:47. |