AJAX调用不执行PHP函数
问题描述:
。我有一个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);
}
我怎样才能解决这个问题?
答
根据您提供的PHP代码段,voteinject()
函数已声明但从未调用过。要解决它添加这样的事情...
voteinject();
或移动代码之外的功能,只是执行它作为过时的PHP,这是老式的,但工程。
+0
我复制了索引,重新命名了它(也改变了我的Ajax中的路径)。 。删除所有内容,但投票inject()函数。我把它移到了函数之外。仍然没有影响我的数据库。 我在第一篇文章中向你展示它现在的样子 – Robbert
+0
绝对连接数据库吗? –
可能不是你错误的原因,但你在asunc/async –
中有一个错字voteinject()是一个函数。而你没有在你的index.php文件中调用这个函数? –
你打电话给voteinject吗?即voteinject();不要忘记写成功,而不是成功; – okante