За последние 24 часа нас посетили 21066 программистов и 1108 роботов. Сейчас ищут 455 программистов ...

Вывод данных json полученных ajax'ом

Тема в разделе "JavaScript и AJAX", создана пользователем lunberg88, 29 июн 2017.

Метки:
  1. lunberg88

    lunberg88 Новичок

    С нами с:
    29 июн 2017
    Сообщения:
    13
    Симпатии:
    0
    День добрый. Есть небольшой скриптик который с помощью ajax-запроса получает данные посредством api.

    Вот php-обработчик:
    PHP:
    1. header('Content-Type: text/html; charset=windows-1251;');
    2. if(isset($_GET['find'])) {
    3. $val = $_GET['find'];
    4. $clans = [];
    5. $data = unserialize(file_get_contents('http://api.neverfate.ru/sostav.php?cl='.$val.''));
    6. $clans[] = $data;
    7.     echo serialize($clans);
    8. //echo "<pre>".print_r($data,1)."</pre>";
    9.     }
    Результат полученный данным запросом (json) выглядит так:
    Код (Javascript):
    1. a:1:{
    2.     i:0;
    3.     a:20:{
    4.      i:0;a:7:{s:5:"login";s:8:"testuser";s:5:"some_row";s:2:"some_text";s:8:"some_row1";s:1:"row1_text";s:10:"some_row2";s:0:"row2_test";s:5:"some_row3";s:1:"row3_text";s:4:"some_row4";s:10:"row4_text";s:3:"some_row5";s:10:"row5_text";}
    5.      i:1;a:7:{s:5:"login";s:8:"testuser";s:5:"some_row";s:2:"some_text";s:8:"some_row1";s:1:"row1_text";s:10:"some_row2";s:0:"row2_test";s:5:"some_row3";s:1:"row3_text";s:4:"some_row4";s:10:"row4_text";s:3:"some_row5";s:10:"row5_text";}
    6.     }
    7. }
    Сам ajax-запрос выглядит так:
    Код (Javascript):
    1. $(function (){
    2.  
    3.     $('#go').click(function() {
    4.         var x = $('#search').val();
    5.  
    6. $.ajax({
    7.      url: 'api_js.php?find='+x,
    8.      type: 'POST',
    9.      success: function(info) {
    10.             //TO DO...
    11.      },
    12.      error: function(statusCode) {
    13.          $('#error').html('Error ocurred: ' + statusCode);
    14.      }
    15. });
    16.  
    17.     });
    18.  
    19. });
    Вот собственно много чего пробовал, но не получается вывести информацию. Буду рад помощи.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    Код (Javascript):
    1. $( function()
    2. {
    3.     $( 'body' ).on( 'submit', 'form', function( e ) // ------------------- NEW
    4.     {
    5.         e.preventDefault();
    6.        
    7.         var item = new FormData( $( this ).get(0) );
    8.        
    9.         $.ajax(
    10.         {
    11.             url: $( this ).attr( 'action' ),
    12.             type: $( this ).attr( 'method' ),
    13.             contentType: false, // важно - убираем форматирование данных по умолчанию
    14.             processData: false, // важно - убираем преобразование строк по умолчанию
    15.             data: item,
    16.             dataType: 'JSON',
    17.             success: function( json )
    18.             {
    19.                 /* ... */
    20.             }
    21.         });
    22.     });
    23. });
     
  3. lunberg88

    lunberg88 Новичок

    С нами с:
    29 июн 2017
    Сообщения:
    13
    Симпатии:
    0
    Может я не правильно понял, но:
    У меня не форма а просто input, по нажатию на который и запускается ajax, и собственно как вывести данные полученные от ajax'a?
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    тут ничего нет. Что куда надо выводить, понятно что json но нету кода или стараний ваших.
    2 - атрибут отсутствует dataType: 'JSON'
    3 - вы посылаете вроде POST запрос, но полезной нагрузки таковой null, за то работаем с GET... не логично..
    --- Добавлено ---
    вырвал у себя
    Код (Javascript):
    1. dataType: 'JSON',
    2.             success: function( json )
    3.             {
    4.                
    5.                 if ( json )
    6.                 {
    7.                     history.pushState( '', '', selector[0] + ( octothorpe[1] != undefined ? '#' + octothorpe[1] : '' ) );
    8.                    
    9.                     moduleParseLoad( json );
    10.                    
    11.                     if ( json.GLOB != undefined )
    12.                     {
    13.                         $( '#' + json.GLOB.ID ).html( json.GLOB.CONTENTS );
    14.                     }
    15.                 }
    16.                 else
    17.                 {
    18.                     alert( json );
    19.                 }
    20.                
    21.             }
     
  5. lunberg88

    lunberg88 Новичок

    С нами с:
    29 июн 2017
    Сообщения:
    13
    Симпатии:
    0
    Я не спорю что это быдло код, я ещё в процессе изучения js,jquery,ajax.
    Ну по итогам ответ от сервера получен, json-объект, а вот вывести информацию не могу так как формат данных сложный.