通过AJAX发送数据到$ _POST数组

问题描述:

我开始通过'submit'按钮播放音乐,因此我的表单不会发送到全局数组$ _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> 

我需要你的答案,请!

+0

你应该帮我看看代码吗?我不知道,如何将它发送到数组 – Catalina

+0

您需要先学习如何使用ajax提交数据。 [jquery](https://api.jquery.com/jquery.post/)是一个好工具。在完成研究之后回到*,已经做出了坚实的尝试,并且有一个具体的问题。 – jszobody

+0

我正在尝试这个,但它播放音乐,但不发送:$(“#form”)。submit(function(event){ var $ form = $(this); var $ inputs = $ form.find(“input,button,textarea”); var serialisedData = $ form.serialize(); $ inputs.prop(“disabled”,true); $ .ajax({url:“/ index .php“, 类型:”post“, data:serializedData }); }); ' – Catalina

有几个问题与此有关。首先,你要重写你的按钮单击处理程序。如果您还希望它也发布表单,您应该在您的处理程序结束时执行

此外,您会发现浏览器会在发生这种情况时重新加载页面,所以没有真正的理由您希望要播放音乐,而应该添加一些PHP来添加JavaScript,以便在正确接收音乐时播放音乐查看发布的数据。

或者,您可以在您的点击处理程序中使用AJAX发送数据,如@jszobody所示。

$.ajax({ 
    type: "POST", 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
});