Есть страница авторизации с формой, нужно отправить ajax запрос. В devtools хочу проверить отправлен ли ajax. login.php: PHP: form action="#" id="start" method="post"> <a><?php echo $log6; ?></a> <p><input id="inputLog" type="login" name="login" placeholder="Login" value="<?php echo $login; ?>"/><p> <p><input id="inputPass" type="password" name="password" placeholder="Пароль" value="<?php echo $password; ?>"/></p> <input id="submit" type="submit" name="submit" class="btn1" value="Вход" /> </form> <p id="hello">s</p> main.js: Код (Javascript): $("#start").submit(function () { var params = { text: $("#inputLog").val(), text2: $("#inputPass").val(), } $.post("ajax.php", params, function (data) { $("#hello").html(data); }); }); ajax.php: PHP: <?php $text = $_POST["text"]; $text2 = $_POST["text2"]; echo 'Привет, '.$text.$text2; // } Спасибо за любые комментарии.
PHP: if ( $_SERVER['REQUEST_METHOD'] == 'POST' and isset ( $_POST['text'], $_POST['text2'] ) ) { $error = 'Ошибка'; $success = 'Успех'; $text = 'Привет, '. htmlspecialchars( $_POST['text'] ) . htmlspecialchars( $_POST['text2'] ); exit( json_encode( [ 'text' => $text, 'error' => $error, 'success' => $success, ] ) ); } Код (Javascript): $("#hello").html(data['text']); или показать ошибку dataType: 'JSON', если прям так необходимо, поставь HTML, тогда сработает твой вариант.
Где нужно указать dataType: 'JSON'? Нет реакции на кнопку. ( <input id="submit" type="button" name="submit" class="btn1" value="Вход" />)
У меня бала реализована авторизация без ajax. Нужно отправлять формы с ajax. Проверять, что форма отправилась с использованием ajax. Ответ должен быть в формате json. Проверять, соответствие ответа формату json. Также нежно проверять невозможность отправки формы с отключенным JS. Нужен ли мне ajax.php или main.js нужно отправлять сразу на UserController? Запутался.. UserController.php: PHP: /** <?php /** * Контроллер UserController */ class UserController { * Action для страницы "Вход на сайт" */ public function actionLogin() { //Переменные для ошибок в форму $userError = ""; $log6 = ""; $pass6 = ""; $success = ""; $user = ""; // Переменные для формы $login = false; $password = false; // Защита от POST инъекций $jsxss="onabort,oncanplay,oncanplaythrough,ondurationchange,onemptied,onended,onerror,onloadeddata,onloadedmetadata,onloadstart,onpause,onplay,onplaying,onprogress,onratechange,onseeked,onseeking,onstalled,onsuspend,ontimeupdate,onvolumechange,onwaiting,oncopy,oncut,onpaste,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,onblur,onfocus,onfocusin,onfocusout,onchange,oninput,oninvalid,onreset,onsearch,onselect,onsubmit,onabort,onbeforeunload,onerror,onhashchange,onload,onpageshow,onpagehide,onresize,onscroll,onunload,onkeydown,onkeypress,onkeyup,altKey,ctrlKey,shiftKey,metaKey,key,keyCode,which,charCode,location,onclick,ondblclick,oncontextmenu,onmouseover,onmouseenter,onmouseout,onmouseleave,onmouseup,onmousemove,onwheel,altKey,ctrlKey,shiftKey,metaKey,button,buttons,which,clientX,clientY,detail,relatedTarget,screenX,screenY,deltaX,deltaY,deltaZ,deltaMode,animationstart,animationend,animationiteration,animationName,elapsedTime,propertyName,elapsedTime,transitionend,onerror,onmessage,onopen,ononline,onoffline,onstorage,onshow,ontoggle,onpopstate,ontouchstart,ontouchmove,ontouchend,ontouchcancel,persisted,javascript"; $jsxss = explode(",",$jsxss); foreach($_POST as $k=>$v) { if(is_array($v)) { foreach($v as $Kk=>$Vv) { $Vv = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $Vv ); $Vv = str_replace($jsxss,"",$Vv); $Vv = str_replace (array("*","\\"), "", $Vv ); $Vv = strip_tags($Vv); $Vv = htmlentities($Vv, ENT_QUOTES, "UTF-8"); $Vv = htmlspecialchars($Vv, ENT_QUOTES); $_POST[$k][$Kk] = $Vv; } } ELSE { //Сначала удаляем любые скрипты для защиты от xss-атак $v = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $v ); //Вырезаем все известные javascript события для защиты от xss-атак $v = str_replace($jsxss,"",$v); //Удаляем экранирование для защиты от SQL-инъекций $v = str_replace (array("*","\\"), "", $v ); //Экранируем специальные символы в строках для использования в выражениях SQL //$v = mysql_real_escape_string( $v ); //Удаляем другие лишние теги. $v = strip_tags($v); //Преобразуем все возможные символы в соответствующие HTML-сущности $v = htmlentities($v, ENT_QUOTES, "UTF-8"); $v = htmlspecialchars($v, ENT_QUOTES); //Перезаписываем GET массив $_POST[$k] = $v; } } // if (@$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') { // Обработка формы if (isset($_POST['submit'])) { // Если форма отправлена // Получаем данные из формы $login = $_POST['login']; $password = $_POST['password']; // Флаг ошибок $errors = false; // Валидация полей if (!User::checkLogin($login)) { $errors[] = 'Login не должен быть короче 6-ти символов'; $log6 = 'Login не должен быть короче 6-ти символов'; } // Проверяем зарегистрирован ли пользователь $userId = User::checkUserData($login, $password); if ($userId == false) { // Если данные неправильные - показываем ошибку $errors[] = 'Неправильные данные для входа на сайт'; $userError = 'Неправильные данные для входа на сайт'; } else { $_SESSION['user'] = $login; $success = "Hello "; // // Перенаправляем пользователя в закрытую часть - кабинет header("Location: /cabinet"); } } // Подключаем вид require_once(ROOT . '/views/user/login.php'); return true; // } } }