На стороне клиента данные преобразуются в Json-объект и отправляются по адресу что_за_домен/app/c.
Значит, на стороне сервера должен находиться обработчик, который вызывается при обращении к этому адресу. Если слишком сложно, то просто создаём ajax.php и кидаем в корень сайта. Обращаемся из js так:
$.ajax("/ajax.php", { //...
А вот примерный код в ajax.php
<?
// Email владельца лендинга, на который придёт форма
$admin_email = 'admin@example.ru';
// Сразу объявляем массив ответа клиенту
$response = [];
$response['status'] = 'during';
// Если передан необходимый Json-объект
if (isset ($_POST['data']))
{
// Преобразуем Json-объект в привычный массив
$data = json_decode ($_POST['data']);
// Проверяем, есть ли в массиве нужные нам значения
if
(
(isset ($data['name'])) && ($data['name']) &&
(isset ($data['email'])) && ($data['email']) &&
(isset ($data['phone'])) && ($data['phone'])
)
{
// Сбор и отправка письма владельцу лендинга (переменная с email'ом задана в начале листинга)
// Рекомендую установить и использовать PHPMailer вместо стандартной функции mail
$mail_subject = "Форма обратной связи";
$mail_message = "Имя: " . $data['name'] . "\r\n";
$mail_message .= "Email: " . $data['email'] . "\r\n";
$mail_message .= "Телефон: " . $data['phone'];
mail ($admin_email, $mail_subject, $mail_message);
// Установка статуса ответа ок и текста для того, чтобы вывести сообщение
$response['status'] = 'ok';
$response['message'] = 'Спасибо! Ваша заявка принята.';
}
// Если не все поля формы были заполнены или не все дошли до сервера
else
{
$response['status'] = 'error_data_is_not_complete';
}
}
// Если ничего не пришло в переменной $_POST['data']
else
{
$response['status'] = 'error_no_data';
}
// Вывод (отправка обратно) Json-представления ответа, который легко можно распарсить на стороне клиента
// Если что-то пошло не так, то в объекте ответа будет status с ошибкой, иначе будет status: ok.
echo (json_encode ($response));
exit;
?>
На клиенте строчку с
success: y,
замените на
success: function (data)
{
try
{
// Пробуем распарсить Json-ответ от сервера
data = $.parseJSON (data);
if (data['status'] == 'ok')
alert (data['message']);
else
alert (data['status']);
}
catch (e)
{
// Если ответ не Json, то через alert должна вывестись ошибка, которую вернул php
alert (data);
}
},
Как только убедитесь, что ответ приходит и всё ок, возвращайте обратно на клиентской части
success: y,
Чувствую, что y - это какая-то шаблонная функция.
Я код накидал, но не тестировал. Могут встречаться опечатки.