Javascript 如何通过ajax将表单发送到php页面
我正在尝试添加一个评论部分。我有一个ajax调用,它将消息插入到我的数据库中。我在页面上使用php来显示表中的所有消息。当我点击评论部分时,什么也没发生 我一开始试图用javascript硬编码一些变量,只是想看看我的ajax是否至少尝试插入到我的数据库中,但后来我找到了这个答案 我试过了,但对我不起作用 我确保了click ID已被管理,并且hp文件已更改为正确的url,但当我单击submit时,什么也没有发生 在我找到一个我认为应该有效的答案之前,我就有了这个想法,但事实并非如此。在这里: 这就是我现在拥有的Javascript 如何通过ajax将表单发送到php页面,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试添加一个评论部分。我有一个ajax调用,它将消息插入到我的数据库中。我在页面上使用php来显示表中的所有消息。当我点击评论部分时,什么也没发生 我一开始试图用javascript硬编码一些变量,只是想看看我的ajax是否至少尝试插入到我的数据库中,但后来我找到了这个答案 我试过了,但对我不起作用 我确保了click ID已被管理,并且hp文件已更改为正确的url,但当我单击submit时,什么也没有发生 在我找到一个我认为应该有效的答案之前,我就有了这个想法,但事实并非如此。在这里:
$(document).ready(function(){
$('#Butt').click(function(e){
e.preventDefault();
form = $("#myform").serialize();
$.ajax({
type: "POST",
url: "mess.php",
data: form,
success: function(data){
window.location.reload(true)
}});
return false;
});
});
我的表单我正在使用php输出表单,这就是为什么您将php变量视为值
<form id= "myform" name ="myform" method= "POST" action="">
<input type= "hidden" name="User" value="'.$email.'">
<input type ="hidden" name ="date" value="'.date("Y-m-d H:i:s").'">
<input type="hidden" name="task" value="'.$Tasknumber_modal.'">
<input type="hidden" name="Domain" value="'.$domain_modal.'">
<textarea name="message"></textarea>
<button id="Butt" >Comment</button>
</form>';
.serialize()
在我看来更适合于GET
请求,因为它基本上将表单数据转换为字符串布局(?q=Search+Query&id=12
)
您的第一个示例似乎表明您的PHP正在解码formData,因此请尝试使用第二个示例:
var form = new formData($('form')[0])
我添加了你的代码,当我点击评论时,什么也没发生。我的php在表单提交后使用$_POST['name']获取数据。你所说的解码表单数据是什么意思?这是某种php函数吗?您没有名为“name”的输入。尝试用“User”或“date”替换它,因为您已经定义了这些输入名称。我添加了我的php,使用上面的数据。当我点击评论时,似乎认为没有人试图运行我的php。
require('server.php');
session_start();
$User=$_SESSION['email'];
$message=$_POST['message'];
$domain1=$_POST['Domain'];
$task=$_POST['task'];
$sqli= "Insert into Universe.Message (Message,Users,TaskNumber,urlDomain) VALUES(?,?,?,?)";
$stmt =mysqli_prepare($link,$sqli);
mysqli_stmt_bind_param($stmt,"ssis",$message,$User,$task,$domain );
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);
var form = new formData($('form')[0])