Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.02.2013, 13:25
Новичок на форуме
Отправить личное сообщение для Shadow_Blade Посмотреть профиль Найти все сообщения от Shadow_Blade
 
Регистрация: 07.02.2013
Сообщений: 4

Вывести массив Json
Добрый день, не могу добиться вывода адреса. Сильно ногами не бейте нуба

Код:
<!DOCTYPE html>

<html>
    <head>
        <script type="text/javascript" src="Script.js" ></script>
        <script type="text/javascript">
            function test()
            {
                var items = [];
                $.getJSON("http://api.4geo.ru/rest/geocode/search.json?query=Сургут,%20мира,%205", 
            function (data)
                {
                    $.each(data.items, function (key, i)
                    {
                        items.push('<li id="' + key + '">' + i + '</li>');
                        });
                        $('<ul/>', {
                            'class1': 'list',
                            html: items.join('')
                        }).appendTo('body');
                    });
             }

        </script>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body onload="test()">
      
    </body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 07.02.2013, 13:34
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Shadow_Blade,

Данные, которые возвращает сервис в другом формате. А так почти все правильно
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        function test() {
            var items = [];
            $.getJSON("http://api.4geo.ru/rest/geocode/search.json?query=Сургут,%20мира,%205",
        function (data) {
            $.each(data.result.geoobject, function (index, value) {
                items.push('<li id="' + value.text + '">' + index + '</li>');
            });
            $('<ul/>', {
                'class1': 'list',
                html: items.join('')
            }).appendTo('body');
        });
        }

    </script>
    <meta charset="utf-8" />
    <title></title>
</head>
<body onload="test()">
</body>
</html>

P.S. Не забывай, что нельзя делать ajax-вызов на другой домен.

Последний раз редактировалось Hoshinokoe, 07.02.2013 в 13:51.
Ответить с цитированием
  #3 (permalink)  
Старый 07.02.2013, 13:51
Новичок на форуме
Отправить личное сообщение для Shadow_Blade Посмотреть профиль Найти все сообщения от Shadow_Blade
 
Регистрация: 07.02.2013
Сообщений: 4

Сообщение от Hoshinokoe Посмотреть сообщение
Shadow_Blade,

Данные, которые возвращает сервис в другом формате. А так почти все правильно
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        function test() {
            var items = [];
            $.getJSON("http://api.4geo.ru/rest/geocode/search.json?query=Сургут,%20мира,%205",
        function (data) {
            $.each(data.result.geoobject, function (index, value) {
                items.push('<li id="' + value.text + '">' + index + '</li>');
            });
            $('<ul/>', {
                'class1': 'list',
                html: items.join('')
            }).appendTo('body');
        });
        }

    </script>
    <meta charset="utf-8" />
    <title></title>
</head>
<body onload="test()">
</body>
</html>

P.S. Не забывай, что нельзя делать ajax-вызов на другой домен.
А подробнее можно насчёт $.each(data.result.geoobject, function (index, value), не получается у меня
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2013, 14:16
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Сообщение от Shadow_Blade Посмотреть сообщение
А подробнее можно насчёт $.each(data.result.geoobject, function (index, value), не получается у меня
Что не получается ???

Если твой сайт на другом домене, то нужно использовать jsonp. Вот пример:
<!DOCTYPE html>
<html>
<head>
    <meta charset="windows-1251" />
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
        function test() {
            $.getJSON("http://api.4geo.ru/rest/geocode/search.jsonp?query=Сургут,%20мира,%205&jsoncallback=?",
                search);
        }

        function search(data) {
            var items = [];

            $.each(data.result.geoobject, function (index, value) {
                items.push('<li id="' + index + '">' + value.text + '</li>');
            });
            $('<ul/>', {
                'class1': 'list',
                html: items.join('')
            }).appendTo('body');
        }

    </script>
    <meta charset="utf-8" />
    <title></title>
</head>
<body onload="test()">
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 07.02.2013, 14:17
Новичок на форуме
Отправить личное сообщение для Shadow_Blade Посмотреть профиль Найти все сообщения от Shadow_Blade
 
Регистрация: 07.02.2013
Сообщений: 4

Спасибо, надеюсь я тупить так не буду больше
Ответить с цитированием
  #6 (permalink)  
Старый 07.02.2013, 15:43
Новичок на форуме
Отправить личное сообщение для Shadow_Blade Посмотреть профиль Найти все сообщения от Shadow_Blade
 
Регистрация: 07.02.2013
Сообщений: 4

Дело в том что мне нужно отобразить не text а street и buildingNumber буду очень сильно благодарен если распишешь. По идее это так?
$.each(data.result.geoobject , function (index, value) {
items.push('<li id="' + index + '">' + value.details.buildingType + '</li>');
Ответить с цитированием
  #7 (permalink)  
Старый 07.02.2013, 16:11
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Shadow_Blade,

посмотри для начала что возвращает сервис. http://i.imgur.com/asTZ4Gz.png?1

Тебе нужно:
value.details.adresses[0].buildingType
value.details.adresses[0].street
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести массив с checkbox nezzard Общие вопросы Javascript 26 01.10.2013 21:15
Как перевести json строку в js массив? Tek Общие вопросы Javascript 1 25.03.2012 17:11
Сформировать массив (JSON, XML не причем) ybiza AJAX и COMET 2 17.05.2011 08:58
Массив AJAX + JSON RCuPeR AJAX и COMET 4 09.02.2011 12:34
Преобразование данных json в массив LA_ Общие вопросы Javascript 4 28.10.2010 23:54