Отправка формы на почту AJAX + JQuery + PHP

184
08 сентября 2018, 15:40

Нужно отправлять с лендинга на почту форму обратной связи, но что-то пошло не так и форма не обрабатывается php, в консоли получаю "POST http://localhost:3000/save.php 404 (Not Found)"

Помогите, что я делаю не так?

UPD: Когда перехожу по адресу http://localhost:3000/save.php файл save.php просто скачивается... То есть он есть но почему через него не обрабатывается?!

Код следующий:

$(document) 
  .on('submit', '#main-form', e => { 
    e.preventDefault(); 
 
    let form_data = $(this).serialize(); 
 
    $.ajax({ 
      type: "POST", 
      url: "/save.php", 
      data: form_data, 
      success: function() { 
        alert("Ваше сообщение отправлено!"); 
      } 
    }); 
 
  });
<form class="b-form" id="main-form"> 
  <div class="b-form__row"> 
    <label for="name" class="b-label">Ваше имя</label> 
    <input id="name" type="text" name="name" class="b-input b-form__input" placeholder="Ваше имя" /> 
  </div> 
  <div class="b-form__row"> 
    <label for="email" class="b-label">Электронная почта</label> 
 
    <input id="email" type="email" name="email" class="b-input b-form__input" placeholder="Email" required/> 
    <div class="b-form__help">Обязательно для заполнения</div> 
  </div> 
  <div class="b-form__row"> 
    <label for="phone" class="b-label">Телефон <span class="b-aster">*</span></label> 
    <input id="phone" type="tel" name="phone" class="b-input b-form__input b-phone__mask" placeholder="Телефон" required/> 
    <div class="b-form__help">Обязательно для заполнения</div> 
  </div> 
  <div class="b-form__row"> 
    <input type="submit" class="b-button b-button_blue" value="Отправить" /> 
  </div> 
</form>
PHP
<?php 
 
$recepient = "uma199041@mail.ru"; 
$sitename = "Бюро Сервис"; 
 
$name = trim($_POST["name"]); 
$phone = trim($_POST["phone"]); 
$email = trim($_POST["email"]); 
$message = "Имя: $name \nТелефон: $phone \nEmail: $email"; 
 
$pagetitle = "Новая заявка с сайта \"$sitename\""; 
mail($recepient, $pagetitle, $message, "Content-type: text/plain; charset=\"utf-8\"\n From: $recepient");
Структура проекта

Answer 1

Для обработки php нужен сервер и интерпретатор. Просто так php не работает. Нужна связка Apache/PHP или Nginx/PHP, для теста можно и встроенный сервер

Answer 2

В стрелочной функции не тот this:

$(document)
  .on('submit', '#main-form', function(e) {
    e.preventDefault();
    let form_data = $(this).serialize();
READ ALSO
to_string быстрее snprintf(странность компилятора C++ от Microsoft)

to_string быстрее snprintf(странность компилятора C++ от Microsoft)

Добивая тему про строчки(std::to_string без создания новой строки) внезапно обнаружил, что компилятор C++ от Microsoft(Microsoft (R) C/C++ Optimizing Compiler Version 1914

184
boost::enable_if и static_cast

boost::enable_if и static_cast

Не могу понять как написать такую хотелку

196
Arduino: Не получается считать другие rfid карты

Arduino: Не получается считать другие rfid карты

Заказал себе rfid-RC522 считыватель для ардуино, подключил к меге, подключил библиотеку(MFRC522), залил скетч, но он работает только с брелком и карточкой...

186
Что лучше использовать: cout / wcout или printf? [закрыт]

Что лучше использовать: cout / wcout или printf? [закрыт]

Собственно, вопрос в заголовкеПожалуйста, дайте подробный ответ

223