jQueryajax返回错误,但数据已添加到数据库中


jQuery ajax returns error but data being added to database

我目前正试图通过ajax将数据存储到数据库中。这很好,但是ajax总是返回"error",即使php代码执行得很好。

Javascript

jQuery.ajax({
    type:'POST', 
    url:ajaxurl,
    data: { game:game, variation:variation, player:player, win:win }, 
    success: function(data){ 
        alert('success'); 
    },
    error: function(data) {
        alert('error');
     }
});

PHP

    <?php
include('connectdb.php');
function addNewMatch() {
    $game = $_POST['game'];
    $variation = $_POST['variation'];
    $date = time();
    $player = $_POST['player'];
    $win = $_POST['win'];
    $queryMatch = "INSERT INTO pd_match VALUES (
        NULL,
        '".$game."',
        '".$variation."',
        '".$date."',
        '".$player."',
        '".$win."'
        )";
    $doQueryMatch = mysql_query($queryMatch);
    if (!$doQueryMatch) { return (false); } else { echo 'success'; }
} // end function addNewMatch
addNewMatch();
?>

正如我所说,它运行良好,但ajax正在返回alert("error")。我一定错过了什么。

(在本地主机上本地完成)

尝试这个

error: function(jqXHR, textStatus, errorThrown) {
  alert(textStatus, errorThrown);
}

让我们知道你犯了什么错误。

如果您使用ajax,则不应该使用

 <form method="POST" action="phpfile.php">

如果您将Ajax函数封装在.on('click').click事件中,那么您的按钮应该是按钮类型的按钮,而不是按钮类型的提交,如下所示:

  <button type="button"></button>

我还没有看到你的HTML,但通常当我遇到这样的问题时,都是因为这个。

我希望它能有所帮助。