powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печалька с ajax
6 сообщений из 6, страница 1 из 1
Печалька с ajax
    #39462730
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такой код вызывает php
Код: javascript
1.
2.
3.
 $.post('actions.php'
            , { 'action':1, 'id': $(this).closest('tr').find('.hiddenKey').text()}
           , function (data) { alert('Data loaded '+ JSON.parse(data).name);} );



Код: php
1.
2.
3.
4.
5.
6.
switch($_POST['action']) {
    case 0: $adm->deleteService($_POST['id']);
        break;
    case 1: echo json_encode($adm->getService($_POST['id']));
        break;
}



вот ответ

[{"id":"2","name":"Парное занятие","cost"
:"0.00"}]

Вопросов 2
1.как получить русские буквы (запись тянется из MySQL, там кодировка UTF-8
2. почему alert('Data loaded '+ JSON.parse(data).name); выводит undefined?
...
Рейтинг: 0 / 0
Печалька с ajax
    #39462733
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. В браузере русские напечатает. Конечно, если сама страница в utf-8.
2. Что-то сложное завернули. Попробуйте data[0].name
...
Рейтинг: 0 / 0
Печалька с ajax
    #39462742
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,
data[0].name - undefined :(
...
Рейтинг: 0 / 0
Печалька с ajax
    #39462746
waszkiewicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewicz,
затупил, вот так нужно
Код: php
1.
case 1: echo json_encode($adm->getService($_POST['id'])[0]);
...
Рейтинг: 0 / 0
Печалька с ajax
    #39462885
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
waszkiewiczвот такой код вызывает php
Код: javascript
1.
2.
3.
 $.post('actions.php'
            , { 'action':1, 'id': $(this).closest('tr').find('.hiddenKey').text()}
           , function (data) { alert('Data loaded '+ JSON.parse(data).name);} );



Код: php
1.
2.
3.
4.
5.
6.
switch($_POST['action']) {
    case 0: $adm->deleteService($_POST['id']);
        break;
    case 1: echo json_encode($adm->getService($_POST['id']));
        break;
}



вот ответ

[{"id":"2","name":"Парное занятие","cost"
:"0.00"}]

Вопросов 2
1.как получить русские буквы (запись тянется из MySQL, там кодировка UTF-8
2. почему alert('Data loaded '+ JSON.parse(data).name); выводит undefined?

в скрипте кодировку utf-8 поставте!
...
Рейтинг: 0 / 0
Печалька с ajax
    #39468240
Фотография Тshаmil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
необходимо указать параметр dataType как json тогда не придется вызывать JSON.parse, в объкте data в колбек функции, будут читабельные символы кириллицы.
Код: javascript
1.
2.
3.
4.
5.
6.
7.
 $.post('actions.php', { 
                 'action':1, 
                 'id': $(this).closest('tr').find('.hiddenKey').text()
             }
           , function (data) { 
                alert('Data loaded '+ data[0].name);
             }, 'json' );



по второму вопросу, квадратные скобки вокруг объекта означают что это массив, потому и undefined, нужно указать индекс первого элемента массива, и дальше обращаться к атрибутам объекта т.е. data[0].name . А вообще, для отладки лучше использовать console.log а не alert
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печалька с ajax
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]