Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.06.2015, 15:23
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от tsigel Посмотреть сообщение
Dark19,
может вы забыли распарсить?
JSON.parse(msg)['C'][1];


Читайте $.ajax dataType: 'json'
я не распарсивал, я з ajax-ом ранее дела не имел. Сейчас попробую
Ответить с цитированием
  #12 (permalink)  
Старый 26.06.2015, 15:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от tsigel
может вы забыли распарсить?
JSON.parse(msg)['C'][1];
зачем парсить и почему 1?
Ответить с цитированием
  #13 (permalink)  
Старый 26.06.2015, 15:43
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

рони,
ну если консоль все выводит верно, и у msg нет свойств и ключей к которым мы обращаемся, то либо автор что-то напутал, либо msg - строка, нет?

1 потому что C[0] - это 'path', а нужен 'point'

Последний раз редактировалось tsigel, 26.06.2015 в 15:45.
Ответить с цитированием
  #14 (permalink)  
Старый 26.06.2015, 15:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075


$.ajax({
    dataType: "json",
    type: "POST",
    url: "http://geotest/ajax.php",
    data: {
        centerDist: centerDistance,
        pointDist: pointsDistance
    },
    success: function(msg) {
        console.log(msg);


        Object.keys(msg).forEach(function(key) {
            console.log(msg[key][0]["point"])
        });

    }
});
Ответить с цитированием
  #15 (permalink)  
Старый 26.06.2015, 15:46
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

рони,
dataType: "json", - у автора не указан.
Ответить с цитированием
  #16 (permalink)  
Старый 26.06.2015, 15:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от tsigel
dataType: "json", - у автора не указан.
это необязательный параметр - главное чтоб сервер отдавал строку json, а не обьект
Ответить с цитированием
  #17 (permalink)  
Старый 26.06.2015, 16:42
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

рони,
сделал
msg = JSON.parse(msg);
начало выводить массивы с точками
только не могу понять почему тут data[key][0]["point"] стоит 0 - это подразумевается буква (A,B,C...), типа первый элемент массива? Как можно вывести не массивами, а каждую точку отдельно?
Ответить с цитированием
  #18 (permalink)  
Старый 26.06.2015, 16:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Dark19,
data[key] == data["A"] условно -- далее смотрите согласно вашей структуре
Ответить с цитированием
  #19 (permalink)  
Старый 26.06.2015, 17:05
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от tsigel
dataType: "json", - у автора не указан.
а еще у него неоднородная структура json =)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #20 (permalink)  
Старый 27.06.2015, 11:18
Аспирант
Отправить личное сообщение для Dark19 Посмотреть профиль Найти все сообщения от Dark19
 
Регистрация: 29.04.2014
Сообщений: 82

Сообщение от рони Посмотреть сообщение
Dark19,
data[key] == data["A"] условно -- далее смотрите согласно вашей структуре
Перебираю точки вот так:
Object.keys(data).forEach(function (key) {
                                                                            var p = 0, x = 0;
                                                                            for(p=0;p<data[key].length;p++){
                                                                                console.log(data[key][p]['point']);
                                                                                for(x;x<data[key][p]['point'].length;x++){
                                                                                    console.log(data[key][p]['point'][x]);
                                                                                }
                                                                            }
                                                                        });

выводит нормально, но вот там где в массиве только один элемент не выводит ничего. Что не так делаю?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка JSON в JS devastor AJAX и COMET 2 16.09.2014 07:36
Обработка json tion Общие вопросы Javascript 15 12.05.2013 18:39
обработка json на jQuery karmis AJAX и COMET 2 11.03.2012 16:24
Обработка JSON menangen AJAX и COMET 0 14.05.2011 16:54
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10