通过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>
我需要你的答案,请!
答
有几个问题与此有关。首先,你要重写你的按钮单击处理程序。如果您还希望它也发布表单,您应该在您的处理程序结束时执行
此外,您会发现浏览器会在发生这种情况时重新加载页面,所以没有真正的理由您希望要播放音乐,而应该添加一些PHP来添加JavaScript,以便在正确接收音乐时播放音乐查看发布的数据。
或者,您可以在您的点击处理程序中使用AJAX发送数据,如@jszobody所示。
答
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
你应该帮我看看代码吗?我不知道,如何将它发送到数组 – Catalina
您需要先学习如何使用ajax提交数据。 [jquery](https://api.jquery.com/jquery.post/)是一个好工具。在完成研究之后回到*,已经做出了坚实的尝试,并且有一个具体的问题。 – jszobody
我正在尝试这个,但它播放音乐,但不发送:$(“#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