我还没找到任何东西 我发现的只是带有文本字段的表单。
我的问题是: 我有2个按钮调用后端PHP代码(Setvote.php)。
$ipid = $row['ipid'];
$confirmed = 0;
$fake = 0;
if (isset($_POST['confirmedVote'])) {
$confirmed = 1;
} else if (isset($_POST['fakeVote'])) {
$fake = 1;
} else {
}
if ($confirmed + $fake == 1){
$sqlInsert = 'INSERT INTO database (postid, ipid, confirmed, fake) values
('.$id.', '.$ipid.', '.$confirmed.', '.$fake.')';
$dbInsert = mysqli_Query($connection, $sqlInsert);
}
这是index.php的形式
//FORM
if ($countIpVoted == 0) {
echo '<br>'.'<form name="myform" action="setvote.php" method="POST" >';
echo '<input type="hidden" name="postId" value="'.$postid.'" />';
echo '<button class="votetrue" type="submit" name="confirmedVote" id="trues"><i class="fa fa-check" aria-hidden="true"></i> True</button>';
echo '<button class="votefalse" type="submit" name="fakeVote" id="falses"><i class="fa fa-times" aria-hidden="true"></i> False</button>';
echo'</form>';
}
else {
echo '<p style="padding-top:6px; padding-bottom:6px;">You have already voted this post.</p>';
$rowIpVoted = $resultIpVoted->fetch_assoc();
如何在不刷新页面的情况下将数据发送到mysql? 我试过这样的事情:
<script>
$(function () {
$('form').on('submit', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: 'setvote.php',
data: $('form').serialize(),
success: function () {
}
});
});
});
</script>
答案 0 :(得分:0)
试试这个,
$.ajax({
url: "setvote.php ",
type: "POST",
data: new FormData(this),
contentType: false,
processData:false,
success: function(data)
{ }
});
还有,
表单标记中的action=""
答案 1 :(得分:0)
试试吧。可能它适用于您的代码。 $(function(){
$('.votetrue,.votefalse').on('click', function (e) {
var fd = new FormData();
fd.append('postId',$('input[name="postId"]').val());
fd.append($(this).attr('name'),$(this).attr('id'));
e.preventDefault();
$.ajax({
type: 'post',
url: 'setvote.php',
data: fd,
processData: false,
contentType: false,
success: function () {
}
});
});
});
答案 2 :(得分:0)
如果你想使用php cose中的数据,那么代码的data
中应该是一对key:value
有一个错误,所以将数据更改为
data :{serial : $('form').serialize()}
另请提及datatype