Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

ответ от сервера в ajax

Алекссс МакТавиш Ученик (159), на голосовании 9 лет назад
В общем такое дело... Я отправил данные серверу через ajax... И один из объектов ajax это success - он выолняется только при успешной передаче... так вот в чем вопрос: в success передается функция, у этой функции есть несколько аргументов, один из них data, это как раз то что вернул сервер... А как должен выглядеть ответ сервера? я пишу на php... допустим если у меня какое-то условие не выполнеяетс я просто пишу echo 'то-то то-то'; die(); но в data ничего не приходит... как надо сделать что бы ответ приходил
Голосование за лучший ответ
Άηϑρέΰ ҂ Искусственный Интеллект (179999) 9 лет назад
через json_encode.. например: echo json_encode($data);
но если это выполняется в контролере фрейморка, то нужно еще exit добавлять, что бы не добавлялся вид или шаблон
Алекссс МакТавишУченик (159) 9 лет назад
Я не пользуюсь фраймворками... вот смотри вот такой код ajax
$.ajax({
url:'php/update_db.php',
type: 'POST',
data:({id_item:id_item, login:login, password:password}),
success: function(data){
console.log(data);
/*if(data == "Ошибка при передаче данных! ")
{
alert('Ошибка! Есть пустые поля! ');
setTimeout(location.reload(), 8000);
}
if(data == "Проверьте логин и пароль! ")
{
alert('Проверьте логин и пароль! ');
setTimeout(location.reload(), 8000);
}
location.reload();*/
}
});
И вот php
<?php
if(empty($_POST['id_item']) || empty($_POST['login']) || empty($_POST['password']))
{
echo json_encode("Ошибка при передаче данных! ");
die();
}
?>

ну это примерно... все равно ничего не возвращается
Άηϑρέΰ ҂ Искусственный Интеллект (179999) а зачем вы так возврат делаете? если так: $data = array('error'=>'Ошибка при передаче данных! '); echo json_encode($data); exit; // вы уверены что die не полностью останавливает?
Русо Гуру (3965) 9 лет назад
json_encode($data) потом в jQuery обрабатывать с помощью $.each
Похожие вопросы