。我有一个AJAX调用:AJAX调用不执行PHP函数
<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>
当我点击单选按钮,它确实给一个弹出与价值。 上的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);
}
我怎样才能解决这个问题?
可能不是你错误的原因,但你在asunc/async –
中有一个错字voteinject()是一个函数。而你没有在你的index.php文件中调用这个函数? –
你打电话给voteinject吗?即voteinject();不要忘记写成功,而不是成功; – okante