ajax и 500 error

131
28 августа 2019, 06:50

Впервые пробую создать отправку формы через AJAX и получаю 500 ошибку сервера. Знаю, что подобные темы уже есть и много, но полезного ничего не подчерпнул. Собственно вот код отправки и обработки.

$( document ).ready(function() { 
    $("#send-btn").click( 
		function(){ 
			sendAjaxForm('result_form', 'submit-your-app', 'action_ajax_form.php'); 
			return false;  
		} 
	); 
}); 
params = $('.add_comment').serialize() 
$.post('add_comment', {id_advert: <your id advert>, data: params}); 
  
function sendAjaxForm(result_form, ajax_form, url) { 
    $.ajax({ 
        url:     url, //url страницы (action_ajax_form.php) 
        type:     "POST", //метод отправки 
        dataType: "html", //формат данных 
        data: $("#"+ajax_form).serialize(),  // Сеарилизуем объект 
        success: function(response) { //Данные отправлены успешно 
        	result = $.parseJSON(response); 
        	$('#result_form').html('Имя: '+result.name+'<br>Телефон: '+result.phone); 
    	}, 
    	error: function(response) { // Данные не отправлены 
            $('#result_form').html('Ошибка. Данные не отправлены.'); 
    	} 
 	}); 
}
<form id="submit-your-app" class="i-form" method="post" action=""> 
          <div class="form-group"> 
            <input type="text" name="name"  placeholder="Фамилия Имя" autocomplete="off"> 
          </div> 
          <div class="form-group"> 
            <input type="text" name="phone"  placeholder="Контактный телефон" autocomplete="off"> 
          </div> 
        <button id="send-btn" type="button" ><span>отправить</span></button> 
        </form>

<?php 
 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    if (isset($_POST['name'])) {$name = $_POST['name'];} 
    if (isset($_POST['phone'])) {$phone = $_POST['phone'];} 
    if (isset($_POST['formData'])) {$formData = $_POST['formData'];} 
  
    $to = "one@gmail.com"; /*Укажите адрес, на который должно приходить письмо*/ 
    $sendfrom   = "two@gmail.com"; /*Укажите адрес, с которого будет приходить письмо, можно не настоящий, нужно для формирования заголовка письма*/ 
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n"; 
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n"; 
    $subject = "$formData"; 
    $message = "$formData<br> <b>Имя пославшего:</b> $name<br> <b>Телефон:</b> $phone"; 
    $send = mail ($to, $subject, $message, $headers); 
    if ($send == 'true') 
    { 
    echo '<center> Спасибо за отправку вашего сообщения!</center>'; 
    } 
    else 
    { 
    echo '<center><b>Ошибка. Сообщение не отправлено!</b></center>'; 
    } 
} else { 
    http_response_code(403); 
    echo "Попробуйте еще раз"; 
} 
?>

Answer 1

$_POST['formData'] - это что? Уберите.

Строки

    dataType: "html", //формат данных

и

        result = $.parseJSON(response);

противоречат друг другу. Выберите что-нибудь одно.

READ ALSO
Какие виды защиты нужны для финансового сайта с балансом, помимо защит от xss, csrf и frode атак? [закрыт]

Какие виды защиты нужны для финансового сайта с балансом, помимо защит от xss, csrf и frode атак? [закрыт]

Хочется исключить взломы баланса и покупокКакие есть еще способы атак на финансовые сайты помимо перечисленных и как от них защититься?

126
Замена картинок | preg_replace PHP

Замена картинок | preg_replace PHP

Не получается написать регулярное выражение, которое заменяло бы все пути с картинкамиКод:

114
Ошибка Permission denied при верных атрибутах

Ошибка Permission denied при верных атрибутах

Есть php скрипт, которому для работы нужны токеныТокены хранятся в отдельной папке в ini файле

110
Вывести картинку через php [дубликат]

Вывести картинку через php [дубликат]

На данный вопрос уже ответили:

144