$.ajax проблема, не возвращает json
есть такая функция
function ajaxload(){ $.ajax({ type: "POST", url: "corner.php", data: {color: colorv, radius: radiusv,type: typev, format: formatv}, dateType: 'json', success: function(data){ alert(data.ru); }}); }; она отправляет скрипт на сервер, там генерируются картинки и возвращается массив с url на них в таком виде //Converting -- Saving if($_REQUEST['type']='jpg'){ ImageJpeg($img_lu,"dir".$id."/im_lu.png"); ImageJpeg($img_ru,"dir".$id."/im_ru.png"); ImageJpeg($img_rd,"dir".$id."/im_rd.png"); ImageJpeg($img_ld,"dir".$id."/im_ld.png"); } elseif ($_REQUEST['type']='png') { ImagePng($img_lu,"dir".$id."/im_lu.png"); ImagePng($img_ru,"dir".$id."/im_ru.png"); ImagePng($img_rd,"dir".$id."/im_rd.png"); ImagePng($img_ld,"dir".$id."/im_ld.png"); } //Encoding to JSON $json=array( 'lu' => "dir".$id."/im_lu.png", 'ru' => "dir".$id."/im_ru.png", 'rd' => "dir".$id."/im_rd.png", 'ld' => "dir".$id."/im_ld.png", ); $json=json_encode($json); //Returning echo $json; Проблема в том, что функция onSuccess не хочет ничего выводить. подскажите, как ее решить? UPD: Вообще, не очень понятен механизм "отдачи" переменных сервером клиенту. в каком виде ее надо отдавать? какой функцией (echo/return/еще чтото)? Буду признателен за объяснения, либо за толковый линк |
фаербагом смотрите что приходит
|
посмотрев, обнаружил, что запрос с нужными данными идет, только вот ответные данные как то не приходят.
так каквсе таки надо "отдавать" json-массив клиенту? |
что значит не приходят?
выставьте проверку ошибок вставьте вывод какого-то текста перед и после вывода JSON-а , для проверки своего серверного скрипта нам что за вас, отладить ваш скрипт, по фотографии? как ребенок, ей богу |
образно я и есть ребенок, только в программировании.
вот в этой функции выводится алерт с текстом "undefined", тоесть переменная не определена. Из этого я сделал вывод, что данные с сервера поступают в неправильном виде, либо я их неправильно обрабатываю. Вот с этим я и прошу помочь - как правильно отправить json с сервера (тоесть какой функцией), а также как ее обрабатывать у клиента (во всех примерах, которые я видел, с json работают именно так, как написано у меня в скрипте) : success: function(data){ alert(data.ru); } |
вы что тугодоходящий?
наверно да, так как вы видите только замечания по поводу ребенка, и напрочь игнорите технические аспекты моих постов когда внимательно прочтете, и сделаете то, что я сказал, вот тогда и поговорим в общем случае ваш код рабочий почему он не рабочий у вас, я не телепат, чтобы по фотографии говорить тысячи причин может быть |
я просто аццко тугодоходящий, и повторять мне надо по семнадцать раз. и то не факт, что дойду.
кстати, отладил. приходит json вида { "lu" : "dir26\/im_lu.png", "ru" : "dir26\/im_ru.png", "rd" : "dir26\/im_rd.png", "ld" : "dir26\/im_ld.png" } как мне обратить к отдельному куску? data.lu не работает, data['lu'] тоже |
>я просто аццко тугодоходящий,
думаю боольшинство согласится) зачем постить что то если понятно что ошибка где то у тебя, и никто другой ее за тебя не найдет по кусках кода.. >data.lu не работает а должно =\ |
Цитата:
Цитата:
выведите data в консоль фаербага Цитата:
насколько я помню json_encode не форматирует так |
да, приходит строка
{"lu":"dir26\/im_lu.png","ru":"dir26\/im_ru.png","rd":"dir26\/im_rd.png","ld":"dir26\/im_ld.png"} может ее как то в json надо конвертировать в самом js? ведь это просто текст, выведеный через echo. или скрипт должен понять сам, что это json? |
Часовой пояс GMT +3, время: 19:04. |