JQuery AJAX 404 form.php не найден

Я пытаюсь подключить простую HTML-форму с помощью JQuery и PHP. Однако я столкнулся со следующей ошибкой:

jquery.min.js:2 POST http://127.0.0.1:8887/form.php 404 (Not Found)

script.js

$("#form").submit(function (e) {
    e.preventDefault();
  }).validate({
    rules: {
      name: {
        required: true,
      },
      email: {
        required: true,
        email: true
      },
      subject: {
        required: true,
      },
      message: {
        required: true,
      },
    },
    submitHandler: function () {
      // alert("enter");
      var form = $('#form');
      var formData = $(form).serialize();
      $.ajax({
        type: 'POST',
        url: '../form.php',
        data: formData
      }).done(function (response) {
        // Clear the form.
        $('#name').val('');
        $('#email').val('');
        $('#message').val('');
      });

      return false;  //This doesn't prevent the form from submitting.
    }
  });

Структура каталогов:

16/07/2018  03:22 AM    <DIR>          .
16/07/2018  03:22 AM    <DIR>          ..
23/06/2018  05:48 PM    <DIR>          .git
14/05/2018  03:37 PM                11 .gitignore
21/06/2018  03:00 PM    <DIR>          .sass-cache
14/05/2018  03:09 PM    <DIR>          .vscode
21/06/2018  03:00 PM    <DIR>          bulma
14/05/2018  03:09 PM    <DIR>          content
14/05/2018  03:09 PM    <DIR>          css
16/07/2018  03:22 AM                66 form.php
15/07/2018  06:57 PM    <DIR>          img
16/07/2018  03:03 AM            31,166 index.html
12/05/2018  07:55 PM                45 index.php
15/07/2018  06:57 PM    <DIR>          js
16/07/2018  03:22 AM    <DIR>          php
27/05/2018  12:16 PM               378 README.md

Папка js состоит из файла script.js, который вызывает form.php в каталоге. Как мне правильно указать скрипту ajax на правильный файл php? Если это помогает, я использую плагин Chrome Webserver для имитации веб-сервера, поскольку Chrome не позволяет скриптам php открывать index.html в виде файлов.

просто используйте form.php и проверьте его один раз

Krishna Jonnalagadda 15.07.2018 21:44

вы используете какой-нибудь фреймворк?

Krishna Jonnalagadda 15.07.2018 22:04
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
1 548
1

Ответы 1

Кажется, проблема с веб-сервером Chrome, я не уверен, может ли он обрабатывать файлы php и обслуживать их.

Попробуйте настроить свой form.php на встроенный php-сервер:

внутри вашей структуры каталогов выполните:

php -S localhost:80 

Затем измените URL-адрес из вашего jquery-скрипта:

  submitHandler: function () {
      // alert("enter");
      var form = $('#form');
      var formData = $(form).serialize();
      $.ajax({
        type: 'POST',
        url: 'http://localhost/form.php',
        data: formData
      }).done(function (response) {
        // Clear the form.
        $('#name').val('');
        $('#email').val('');
        $('#message').val('');
      });

      return false;  //This doesn't prevent the form from submitting.
    }

Другие вопросы по теме