Задать вопрос
@vladzvezdin

Ошибка в AJAX запросе при отправке формы?

Всем привет. Уже не первый раз делаю формы, но сейчас не понимаю в чем ошибка. Проверяю форму на локальном сервере. Аякс выполняется с ошибкой (undefined), но данные все равно отправляются. Прошу помощи, может кто свежим взглядом посмотрит и увидит ошибку в коде.

<form name="feedback" id="feedback" class="feedback" action="" method="post">
                        <input type="hidden" id="catch" name="catch">
                        <div class="input-block">
                            <input class="input" id="companyname" type="text" name="name" placeholder="Company name" required>
                        </div>
                        <div class="input-block">
                            <input class="input" id="companytel" type="tel" name="tel" placeholder="Company telephone" required>
                        </div>
                        <div class="input-block">
                            <input class="input" id="companyemail" type="email" name="email" placeholder="Company e-mail" required>
                        </div>
                        <div class="input-block">
                            <textarea class="comment" id="comment" name="comment" placeholder="Your comments"></textarea>
                        </div>


                        <div class="submit-block">
                            <input class="submit" id="submit" type="submit" value="Send a request">
                        </div>
                    </form>


$(".feedback .submit").click(function(e) { //Change
        $.ajax({
            type: "POST",
            url: "sender.php",
            dataType: "json",
            data: $('.feedback').serialize()
        }).done(function (result) {
               
                $('.feedback .input-block input, .feedback textarea').val('');

                console.log('sss');
        }).fail(function (xhr, str) {
                $('.feedback .input-block input, .feedback textarea').val('');
               
                alert('Error: ' + xhr.responseCode + ' Please, try again later.');
            });
        e.preventDefault();
    });


if(isset($_POST["name"]))
{
    $name = $_POST["name"];
}
if(isset($_POST["tel"]))
{
    $phone= $_POST["tel"];
}
if(isset($_POST["email"]))
{
    $email = $_POST["email"];
}

if(isset($_POST["comment"]))
{
    $comment = $_POST["comment"];
}


if($name=="" or $email=="" or $phone==""){
    echo "Заполните все поля";
}

else{
  
    $to = "your_mail@mail.ru"; /* Адрес, куда отправляем письма*/
    $subject = "Письмо с обратной связи"; /*Тема письма*/
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "From: <test@mail.ru>\r\n";/*ОТ КОГО*/

    
    $message = '<h3>Содержание сообщения</h3>';
    $message .= '<strong>Company name:</strong> ' . $name . '.<br />';
    $message .= '<strong>Company telephone:</strong> ' . $email . '.<br />';
    $message .= '<strong>Company e-mail:</strong> ' . $phone . '.<br />';
    $message .= '<strong>Your comments:</strong> ' . $comment . '.<br />';

   

    $send = mail($to, $subject, $message, $headers);

  
    if ($send == "true")
    {
        echo "Ваше сообщение отправлено. Мы ответим вам в ближайшее время.\r\n";
    }
   
    else
    {
        echo "Не удалось отправить, попробуйте снова!";
    }
}
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@Absolute138
dataType: "json"
Заменить на:
dataType: "text"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы