Как отправить данные формы с помощью AJAX в формате JSON?
Пишу MVC приложение на php, не могу понять как прочитать данные с формы используя ajax в формате json. jquery подключил. Создал файл ajax.js, тоже подключил, вот теперь не могу понять как связать ajax и mvc. За меня делать не прошу, может кто подскажет куда просто копать дальше? Код формы main.tpl.php
<form action="" class="form-signin" id="form__signin" method="post">
<input type="hidden" class="form__input" name="action" value="login">
<?php if(!empty($pageData['error'])) :?>
<p> <?php echo $pageData['error']; ?></p>
<p> <?php endif; ?></p>
<input type="text" class="form__input" name="login" id="login_sign" placeholder="Логин" required>
<input type="password" class="form__input" name="password" id="password_sign" placeholder="Пароль" required>
<button type="submit" id="signinbutton" class="form__button">Войти</button>
</form>
Код IndexController на проверку
public function index() {
$this->pageData['title'] = "Вход в личный кабинет";
if (!empty($_POST)) {
$action = $_POST['action'];
switch ($action) {
case 'login':
if(!$this->login()) {
$this->pageData['error'] = "Неправильный логин или пароль";
}
break;
case 'register':
if($this->register()) {
$this->pageData['registerMsg'] = "Регистрация прошла успешно. Пройдите авторизацию!";
}
else {
$this->pageData['registerMsg'] = "Ошибка регистрации";
}
break;
}
}
$this->view->render($this->pageTpl, $this->pageData);
}
public function ajax() {
//не могу понять как обработать этот запрос
}
public function login() {
if(!$this->model->checkUser()) {
return false;
}
}
IndexModel:
public function checkUser() {
$login = $_POST['login'];
$password = md5($_POST['password']);
$sql = "SELECT * FROM users WHERE login = :login AND password = :password";
$stmt = $this->db->prepare($sql);//Подготавливает запрос к выполнению и возвращает связанный с этим запросом объект
$stmt->bindValue(":login", $login, PDO::PARAM_STR); //Связывает параметр с заданным значением
$stmt->bindValue(":password", $password, PDO::PARAM_STR);
$stmt->execute(); //Запускает подготовленный запрос на выполнение
$res = $stmt->fetch(PDO::FETCH_ASSOC);
if(!empty($res)) {
$_SESSION['user'] = $_POST['login'];
header("Location: cabinet");
}
else {
return false;
}
}
Файл AJAX
$(document).ready(function () {
$('#form__signin').click(function() {
$.ajax({
url: 'index',
method: 'post',
dataType: 'html',
data: {text: 'Текст'},
success: function(data){
console.log(data);
} }); });
});