我做了一个AJAX电话:
<div>
<form id= "voting" method="post">
<input type="radio" name="rating" value='1'> 1
<input type="radio" name="rating" value='2'> 2
<input type="radio" name="rating" value='3'> 3
<input type="radio" name="rating" value='4'> 4
<input type="radio" name="rating" value='5'> 5
</form>
</div>
<script type="text/javascript">
$(document).ready( function(){
var value =[];
$("#voting").click(function(){
var value = $('input[name=rating]:checked').val();
alert(value);
$.ajax({
asunc: true,
type: "POST",
url: "lib/index.php",
data: { "vote" : value },
error: function() {
alert("Oops");
},
succes: function(data, textstatus, XMLHttpRequest, refresh ){
alert("YEAH");
}
});
});
});
</script>
当我点击单选按钮时,它会弹出一个值。 on index.php是一个将数据放入MySQL数据库的函数:
public function voteinject(){
if (isset($_POST['vote'])) {
error_log(print_r($_POST['vote'], true));
$type_='W';
$rating = $_POST['vote'];
}
$query = "INSERT INTO vote (type, number) VALUES ('$type', $rating)";
$result = mysqli_query($this->link, $query);
return new JsonResponse($rating);
}
所以重点是,我可以点击单选按钮。然后会出现一个弹出好的结果(没有错误)。唯一缺少的是执行投注inject()函数。
如果从函数中取出代码仍然没有结果:
if (isset($_POST['vote'])) {
error_log(print_r($_POST['vote'], true));
$type_='W';
$rating = $_POST['not'];
$query = "INSERT INTO vote (type, number) VALUES ('$type', $rating)";
$result = mysqli_query($this->link, $query);
return new JsonResponse($rating);
}
我该如何解决这个问题?
答案 0 :(得分:0)
根据您提供的PHP代码段,voteinject()
函数已声明但从未调用过。要解决这个问题,请添加以下内容......
voteinject();
或者将代码移到函数外部,然后将其作为程序化的PHP执行,这是老式但可行的。