。我有一個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