2017-04-22 121 views
0

我有以下問題:AJAX調用不工作 - PHP,MySQL和jQuery的/阿賈克斯

我想要做到的是:

  • 上提交/圖像類型按鈕
  • 用戶點擊
  • Ajax調用處理提交,調用另一個PHP腳本在一個MySQL表更新的記錄,完全不需要重新加載頁面(顯然)

我的PHP代碼沒有AJAX工作正常,因爲它的Wi將重新加載並更新記錄。但不知何故ajax調用不起作用和/或返回任何錯誤。

我的代碼:

\t $(function() { 
 

 
$('#like_form').submit(function(event) { 
 
    event.preventDefault(); // Preventing default submit button 
 

 
    var formEl = $('#like_form'); 
 
    var submitButton = $('input[type=submit]', formEl); 
 

 
    $.ajax({ 
 
\t async: true, 
 
     type: 'POST', 
 
     url: formEl.prop('action'), 
 
     accept: { 
 
     javascript: 'application/javascript' 
 
     }, 
 
    
 
     beforeSend: function() { 
 
     submitButton.prop('disabled', 'disabled'); 
 
     } 
 
    }).done(function(data) { 
 
     submitButton.prop('disabled', false); 
 
\t $("#like").fadeOut(); 
 
\t $("#like").fadeIn(); 
 
\t 
 
    }); 
 
    }); 
 
});
<!-- LIKE een gebruiker --> 
 
    <form action="" id="like_form" method='POST' enctype="multipart/form-data"> 
 
     <input onmouseover="this.src='img/heart2.png'" onmouseout="this.src='img/heart.png'" name='like' id="like" src='img/heart.png' type="image" /> 
 
    </form>

我的PHP(以防萬一):

<?php 
 
include_once "dbconnection.php"; 
 

 
//if like button (submit button) clicked 
 
if ($_POST){ 
 
$conn = DatabaseConnection::getConnection(); 
 
$sql = "UPDATE dating_members 
 
SET likes = likes + 1 
 
WHERE member_id = 3"; 
 
$stmt = $conn->prepare($sql); 
 
$stmt->execute(); 
 
} 
 

 
?>

+0

你確定你的請求適用於郵遞員? –

+0

我沒有任何要發佈的數據。所有我試圖達到的是一旦提交按鈕被點擊,以觸發PHP腳本來更新(增量)在MySQL表中的值。提交按鈕是我的表單中唯一的表單元素。不需要其他輸入。 –

+0

爲什麼你會有一個沒有數據的帖子?打敗使用post方法的目的。什麼是請求狀態?你說你看到沒有錯誤,但你沒有任何AJAX erro處理 – charlietfl

回答

0

我想通了,問題是什麼,類的s illy我沒有注意到,但遲到比從未。

爲了捕捉我的onsubmit函數,我不得不在我的PHP頁面的末尾「包含」JS腳本,因此禁用默認事件a.k.a提交按鈕提交我的表單和頁面重新加載/ POST到另一個PHP文件。

一切正常工作現在