Мои данные ajax не публикуются на php!Я получаю пустой массив $ _POST - PullRequest
0 голосов
/ 21 апреля 2019

Я создаю целевую страницу, и мне нужно получить некоторые данные из API. Я настроил api.php, но не могу отправить одно значение из моей формы в api.php

Я пробовал много вещей, но я никогда не получал сообщение в моем php.

<script>
$(function(){
    $('#forma').on('submit', function(e){

        // prevent native form submission here
        e.preventDefault();

        // now do whatever you want here
        $.ajax({
            type: 'POST', // <-- get method of form
            url: 'api.php', // <-- get action of form
            data: {'Usernami': $("#Username").val()}, // <-- serialize all fields into a string that is ready to be posted to your PHP file

            success: function(data){
                alert(data);
            }
        });
    });
}); 

</script>


 <form method="post" id="forma">
<div class="form-group text-center">
    <label for="Username"> <h1 style="color: white;"> Username:</h1></label>
    <input type="texarea" name="usernami" class=" border border-white form-control" id="Username" placeholder="Enter Your Username..." required>
           <label for="Username"> <h1 style="color: white;"> <br>Use Proxy: <br> </h1></label>
               <center>
    <input type="checkbox" id="on-off-switch" name="switch1" checked>
  </center>



       <br>

      <button id="butoni" type="submit" class="btn btn-warning">Connect Account
      </button>

</form>


<?php

print_r($_POST);
?>

Ответы [ 3 ]

0 голосов
/ 21 апреля 2019

Вот как я это делаю.Это выглядит грубо, но для меня это гарантия ...

$.post(
    'url',
    {
       'Usernami': $("#Username").val()
    },
    // function to handle the response
    function(data,status,xhr){
        console.log(data);
    }
});

Надеюсь, это сработает.

0 голосов
/ 21 апреля 2019

Насколько я вижу из вашего примера, в вашем исходном коде нет ничего плохого, но это может быть проблема браузера, кеширующая предыдущий скрипт или страницу, вы можете отключить это и попробовать снова, но лучший способ проверить ответ API - это с такими инструментами, как POSTMAN или бессонница

Единственная небольшая проблема, которую я обнаружил, была просто небольшая опечатка здесь

 <input type="texarea" name="usernami" class=" border border-white form-control" id="Username" placeholder="Enter Your Username..." required>

Я просто изменил текст

 <input type="text" name="usernami" class=" border border-white form-control" id="Username" placeholder="Enter Your Username..." required>

Я бы посоветовал попробовать протестировать ваш API на бессоннице, вы можете получить его здесь

Ниже приведены результаты, полученные с помощью инструмента

enter image description here

0 голосов
/ 21 апреля 2019

Я создал тестовый файл api.php, в который я просто поместил $ _POST и переместил твой скрипт-тег в конец тега body, и он работал для меня.

    <html>
<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
 <form method="post" id="forma">
<div class="form-group text-center">
    <label for="Username"> <h1 style="color: white;"> Username:</h1></label>
    <input type="texarea" name="usernami" class=" border border-white form-control" id="Username" placeholder="Enter Your Username..." required>
           <label for="Username"> <h1 style="color: white;"> <br>Use Proxy: <br> </h1></label>
               <center>
    <input type="checkbox" id="on-off-switch" name="switch1" checked>
  </center>



       <br>

      <button id="butoni" type="submit" class="btn btn-warning">Connect Account
      </button>

</form>
<script>
$(function(){
    $('#forma').on('submit', function(e){

        // prevent native form submission here
        e.preventDefault();

        // now do whatever you want here
        $.ajax({
            type: 'POST', // <-- get method of form
            url: 'api.php', // <-- get action of form
            data: {'Usernami': $("#Username").val()}, // <-- serialize all fields into a string that is ready to be posted to your PHP file

            success: function(data){
                alert(data);
            }
        });
    });
}); 

</script>
</body>

<?php

print_r($_POST);
?>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...