Есть ли причины не использовать die($result)
чтобы вернуть результат запроса Ajax в PHP? Обратите внимание, что это теоретический вопрос о семантике кода.
Простой пример (конечно, функции могут быть сложнее и возвращать разные значения).
JS:
<script> function checkLogin(login){ $.post('/ajax/check',{'login':login},function(res){ if(res == 1) return 1; else return 0; } } </script>
PHP:
<?php $db = mysql_connect(...); $login = mysql_real_escape_string(stripslashes($_POST['login'])); $res = mysql_query("SELECT * FROM project.users WHERE login = '$login'"); if(mysql_num_rows($res)) die('0'); else die('1'); ?>
PS. Я знаю, что функции mysql_*()
устарели, нет необходимости комментировать это. Я просто люблю их использовать и буду. Насколько это будет возможно.
РЕДАКТИРОВАТЬ:
Интересно, почему никто не заметил, что checkLogin()
не имеет смысла, поскольку запрос isync, а функция всегда возвращает undefined
😉