$.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, время: 23:07. |