Попытка отправить данные формы через ajax в пример файла PHP - PullRequest
0 голосов
/ 06 мая 2019

Я использую Ajax для загрузки данных формы на мой сервер, где я проверяю их с помощью PHP, проблема в том, что мой запрос Ajax не работает.

Я использовал этот фрагмент несколько раз ранее, но на этот раз он не работает.

Я проверил, в моем браузере нет ничего на моей вкладке консоли / сети.

HTML

<form id="Create" style="display: none;" method="post">
  <input type="text" name="Name" placeholder="Room name" required autofocus >  
  <select name="Category">
    <option value="Technology">Technology</option>
    <option value="Disscussion">Discussion</option>
    <option value="Family">Family</option>
    <option value="Others">Others</option>
  </select>
  <br>
  <input type="submit" value="submit">
</form>

JS (код Ajax)

$('#Create').on('submit' , function(e) {

    e.preventDefault();
    //e.stopPropagation();  
    $.ajax({
        url : "./process_php/Chat1.php" ,
        data : $('#Create').serialize() ,
        cache : false ,
        processData : false  ,
        //contentType : false ,
        type : "POST" ,

        success : function (response) {
            console.log(response);
        } 

    });

    return false ;

});

И моя страница PHP не имеет ничего, кроме одной строки, которая повторяет слово "Hello"

Я провел небольшое исследование, но безрезультатно.

Я дважды проверил свои каталоги, они в порядке.

Заранее спасибо!

Ответы [ 4 ]

0 голосов
/ 06 мая 2019
$('#Create').on('submit' , function(e) {
        e.preventDefault();
        //e.stopPropagation();  
           $.ajax({
           type: "post",
           url: "./process_php/Chat1.php",
           contentType: false,
           processData: false,
           data: new FormData(this),    
           cache: false, 
           success: function(response){ 
           console.log(response);

        }
      });

        return false ;
    });
0 голосов
/ 06 мая 2019

Почему бы вам просто не использовать HTML form?И затем в вашем PHP-файле вы обрабатываете переменные оттуда?

<form action="PHP file goes here" method="POST">
<input type="text" name="Name" placeholder="Room name" required autofocus >
<select name="Category">
    <option value="Technology">Technology</option>
    <option value="Disscussion">Discussion</option>
    <option value="Family">Family</option>
    <option value="Others">Others</option>
</select><br>
<input type="submit" value="submit">
</form>

PHP:

<?php
$Name = $_POST["Name"];
$Category = $_POST["Category"];
echo "Hello " . $Name . ". The Category you chose was " . $Category . ".";
?>

Это определенно должно выполнить работу.Надеюсь, это поможет !!!

0 голосов
/ 06 мая 2019

Я сталкивался с подобной проблемой раньше.

  1. Сначала проверьте правильность всех зависимостей или нет.
  2. Затем проверьте, работает ли функция, получающая вызов при отправке.
  3. Если выше 2 работают, просто выполните следующие изменения.замените data : $('#Create').serialize() на data : $('#Create').serializeArray()

Надеюсь, эта работа для вас Happy Coding: -)

0 голосов
/ 06 мая 2019

Пожалуйста, проверьте, достигает ли элемент управления файла js.Для лучшей отладки вы можете вставить свой код js inline и попробовать. Похоже, что $('#Create').on('submit' , function(e) { не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...