Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печалька с ajax / 6 сообщений из 6, страница 1 из 1
31.05.2017, 00:01
    #39462730
waszkiewicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
вот такой код вызывает 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
31.05.2017, 00:13
    #39462733
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
1. В браузере русские напечатает. Конечно, если сама страница в utf-8.
2. Что-то сложное завернули. Попробуйте data[0].name
...
Рейтинг: 0 / 0
31.05.2017, 00:23
    #39462742
waszkiewicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
vkle,
data[0].name - undefined :(
...
Рейтинг: 0 / 0
31.05.2017, 00:30
    #39462746
waszkiewicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
waszkiewicz,
затупил, вот так нужно
Код: php
1.
case 1: echo json_encode($adm->getService($_POST['id'])[0]);
...
Рейтинг: 0 / 0
31.05.2017, 10:08
    #39462885
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
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
08.06.2017, 01:19
    #39468240
Тshаmil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Печалька с ajax
необходимо указать параметр 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
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Печалька с ajax / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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