【问题标题】:send data to $_POST array via AJAX通过 AJAX 将数据发送到 $_POST 数组
【发布时间】:2016-10-11 18:04:18
【问题描述】:

我开始通过按钮“提交”播放音乐,结果我的表单没有发送到全局数组 $_POST。怎么做?我应该使用 AJAX 吗?如何? 播放音乐,但未发送表单:(

 <?php

    include_once 'connect.php';



if($_POST['text']){ 
    mysqli_query($CONNECT,"TRUNCATE TABLE user");
        $query = "INSERT INTO user VALUES ('','$_POST[text]')";
        mysqli_query($CONNECT, $query);
}
  ?>




<!DOCTYPE html>
        <html>
            <head>
                <meta charset="utf-8" />
                <title>Input</title>
                <link href="style.css" rel="stylesheet">
                <script src="jquery-2.2.3.min.js"></script>

                <script>
                 $(document).ready(function() {
                   $('.button').click(function(event) {
                     $('.chatMessage').val('');
                     var audio = document.getElementById('audioFile');
                     audio.currentTime = 0;
                     audio.play();
                     audio.loop = true;
                     event.preventDefault();
                   });               
                 });
             $("#form").submit(function(event){
                 var $form = $(this);
                 var $inputs = $form.find("input, button, textarea");
                 var serializedData = $form.serialize();
                 $inputs.prop("disabled", true);
                 $.ajax({
                    url: "/index.php",
                   type: "post",
                   data: serializedData
                });
                });
               </script>
               </head>

               <body>
                 <audio id="audioFile">
                   <source src="font/sound.mp3" type="audio/mpeg">
                 </audio>
                 <div class="inputMessage">

                   <form id="form" method="POST" action="/index.php">
                     <textarea class="chatMessage" name="text" placeholder="Текст сообщения"></textarea>
                     <br>
                     <input class="button" type="submit" name="enter" value="Отправить">
                     <input type="reset" value="Очистить">
                   </form>
                 </div>
               </body>
        </html>

我需要你的答案,拜托!

【问题讨论】:

  • 你应该帮我写代码吗?我不知道,如何将它发送到数组
  • 你需要先去学习如何使用ajax提交数据。 Jquery 是一个很好的工具。在完成研究、做出可靠的尝试并提出具体问题后,请返回 stackoverflow。
  • 我正在尝试这个,但它播放音乐,但不发送表单:$("#form").submit(function(event){ var $form = $(this); var $inputs = $form.find("input, button, textarea"); var serializedData = $form.serialize(); $inputs.prop("disabled", true); $.ajax({ url: "/index.php", type: "post", data: serializedData }); }); &lt;/script&gt;
  • 您通过 ID 引用您的表单,但没有设置 ID。
  • 现在查看我的代码 :)

标签: javascript php jquery ajax post


【解决方案1】:

这有几个问题。首先,您要覆盖按钮的点击处理程序。如果您还希望它也发布表单,您应该在处理程序的末尾return true;

此外,您会发现浏览器会在发生这种情况时重新加载页面,因此您没有真正的理由想要播放音乐。相反,您应该添加一些 PHP 来添加 JavaScript,以便在您正确接收到帖子数据时播放音乐。

或者,正如@jszobody 建议的那样,您可以在单击处理程序中使用 AJAX 发送数据。

【讨论】:

    【解决方案2】:
    $.ajax({
      type: "POST",
      url: url,
      data: data,
      success: success,
      dataType: dataType
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-01
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      • 2020-01-25
      • 1970-01-01
      相关资源
      最近更新 更多