День добрый. Есть небольшой скриптик который с помощью ajax-запроса получает данные посредством api. Вот php-обработчик: PHP: header('Content-Type: text/html; charset=windows-1251;'); if(isset($_GET['find'])) { $val = $_GET['find']; $clans = []; $data = unserialize(file_get_contents('http://api.neverfate.ru/sostav.php?cl='.$val.'')); $clans[] = $data; echo serialize($clans); //echo "<pre>".print_r($data,1)."</pre>"; } Результат полученный данным запросом (json) выглядит так: Код (Javascript): a:1:{ i:0; a:20:{ 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";} 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";} } } Сам ajax-запрос выглядит так: Код (Javascript): $(function (){ $('#go').click(function() { var x = $('#search').val(); $.ajax({ url: 'api_js.php?find='+x, type: 'POST', success: function(info) { //TO DO... }, error: function(statusCode) { $('#error').html('Error ocurred: ' + statusCode); } }); }); }); Вот собственно много чего пробовал, но не получается вывести информацию. Буду рад помощи.
Код (Javascript): $( function() { $( 'body' ).on( 'submit', 'form', function( e ) // ------------------- NEW { e.preventDefault(); var item = new FormData( $( this ).get(0) ); $.ajax( { url: $( this ).attr( 'action' ), type: $( this ).attr( 'method' ), contentType: false, // важно - убираем форматирование данных по умолчанию processData: false, // важно - убираем преобразование строк по умолчанию data: item, dataType: 'JSON', success: function( json ) { /* ... */ } }); }); });
Может я не правильно понял, но: У меня не форма а просто input, по нажатию на который и запускается ajax, и собственно как вывести данные полученные от ajax'a?
тут ничего нет. Что куда надо выводить, понятно что json но нету кода или стараний ваших. 2 - атрибут отсутствует dataType: 'JSON' 3 - вы посылаете вроде POST запрос, но полезной нагрузки таковой null, за то работаем с GET... не логично.. --- Добавлено --- вырвал у себя Код (Javascript): dataType: 'JSON', success: function( json ) { if ( json ) { history.pushState( '', '', selector[0] + ( octothorpe[1] != undefined ? '#' + octothorpe[1] : '' ) ); moduleParseLoad( json ); if ( json.GLOB != undefined ) { $( '#' + json.GLOB.ID ).html( json.GLOB.CONTENTS ); } } else { alert( json ); } }
Я не спорю что это быдло код, я ещё в процессе изучения js,jquery,ajax. Ну по итогам ответ от сервера получен, json-объект, а вот вывести информацию не могу так как формат данных сложный.