1

我第一次尝试使用 jQuery,而我使用 .ajax 的 POST 函数让我很伤心。POST 成功;我的 PHP 页面正确运行 MySQL 查询并返回新创建的用户 ID。唯一的问题是,而不是运行“成功”功能;它只是加载我调用的 PHP 页面,它只是简单地回显用户 ID。

这是jQuery函数:

function register() {
$.ajax({
    type: "POST",
    url: 'sendRegistration.php',
    data: dataString,
    datatype: 'html',
    success: function(response){alert(response);},
    complete: function(response,textStatus){console.log(textStatus);},
    error: function(response){alert(response);}
});
}

...和PHP返回的东西:

    // Create a new send & recieve object to store and retrieve the data
    $sender = new sendRecieve();
    $custId = $sender->submitUser($userVars);
    if ($custId != 0) {
        echo $custId;
    } else {
        echo "Database connection problems...";
    }

创建数据库对象,然后从 'url' 参数加载 php 页面,显示 $sender->submitUser() 函数返回的 id。

理想情况下,我希望它永远不会显示“sendRegistration.php”页面,而是运行另一个 js 函数。

我确信有一个简单的解决方案,但经过数小时的搜索后我无法找到它。

谢谢你的帮助。

4

2 回答 2

3

您可能正在通过表单处理此问题。如果不阻止浏览器默认的表单提交过程,页面会重定向到action表单的url。如果没有action表格,当前页面将重新加载,这很可能是您的情况。

为防止这种情况,请使用以下任一方法

$('form').submit(function(event){
    /* this method before AJAX code*/
    event.preventDefault()    

        /* OR*/

      /* this method after all other code in handler*/
      return false;
})

如果您从表单提交按钮上的单击处理程序发送 AJAX,则适用相同的方法

于 2012-11-24T20:34:55.617 回答
0

你是如何调用 register() 函数的?可能是传统上提交的表单,您可能需要阻止默认操作(标准表单提交)。

于 2012-11-24T20:32:57.863 回答