AJAX Пример формы для N00b - PullRequest
0 голосов
/ 02 апреля 2020

Я начну с извинения: я плохо с AJAX. Я пытаюсь учиться, но этот конкретный проект доставляет мне абсолютную головную боль. Я прочитал много примеров, но не могу найти ничего, что поможет с этой проблемой.

ПРОБЛЕМА: Используя "старомодную" среду PHP / MySQL / HTML, я пытаюсь отправить данные из простой формы HTML с помощью AJAX; отправьте запрос ajax на php для обновления записи в MySQL дБ. К сожалению, мой код просто не работает. Кажется, что я эффективно отправляю данные, но где-то во всем этом мне не хватает. ПРИМЕЧАНИЕ : я подтвердил, что с моим подключением к базе данных нет проблем, я использую "$ db" при вводе моего имени, пароля, имени db_name, как указано в моем файле "show_client. php".

МОЯ ЦЕЛЬ : Я надеюсь: (a) обновить существующую переменную, используя этот запрос AJAX (без refre sh страницы); И (b) Вывести выходные данные в div с названием case_activity_id2 после обновления строки базы данных формы и отправки моего запроса ajax.

У меня есть два соответствующих файла: (1) index.php; и (2) show_client. php.

index. php

<html>
  <td>
        <form id= "ajaxForm" action = ""  method = "POST" >
            <input type = "hidden" name='case_activity_id' id = 'case_activity_id' value = '<?php echo $case_activity_id?>'>
            <select name ='show_client_id' id = 'show_client_id' class="form-control">
                    <?php 
                        showClient();
                    ?> 
            </select>

  </td>
  <td><input type="submit" value="send" id = "btnClick" class="btn btn-primary" /> </form></td>
  <td><div id = "case_activity_id2"></div></td>

<script>

(function(){
    $("#btnClick").on("click", function(){ submitForm();});
})();
function submitForm(){
    $(document).ready(function() {
        $("#ajaxForm").submit(function(event){
            var case_activity_id = $("#case_activity_id").val();
            var show_client_id = $("#show_client_id").val();
           $.ajax( {
              type: "POST",
              url:'show_client.php',
              dataType: 'json',
              data: {
                    case_activity_id:case_activity_id, 
                    show_client_id:show_client_id
                    },
              success:function(data) {
                $('#case_activity_id2').html(data);
                console.log(data);
              }
           });
        });
    });
}
</script>
</html> 

(2) show_client. php

<?php
session_start(); 
require 'db/connect.php';

            $show_client_id = $_POST['show_client_id']; 
            $case_activity_id = $_POST['case_activity_id']; 

            $sql = "UPDATE case_activity
                    SET show_client_id = '$show_client_id'
                    WHERE case_activity_id = '$case_activity_id'";  
            mysqli_query($db, $sql);  

?>

1 Ответ

1 голос
/ 03 апреля 2020

Довольно просто, когда @el_vanja помог мне! Спасибо огромное!

$(document).ready(function() {
        $("#ajaxForm").submit(function(event)
        {
            event.preventDefault();
            var case_activity_id = $("#case_activity_id").val();
            var show_client_id = $("#show_client_id").val();
           $.ajax( {
              type: "POST",
              url:'show_client.php',
              dataType: 'json',
              data:
                    {
                        case_activity_id:case_activity_id, 
                        show_client_id:show_client_id
                    }, 
              success:function(data) {
               // $('#case_activity_id2').html(data);
                console.log(data);
              }
           });
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...