gpt4 book ai didi

ajax - jQuery .ajax 'success' 函数从未运行

转载 作者:行者123 更新时间:2023-12-01 08:11:10 24 4
gpt4 key购买 nike

我第一次尝试使用 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 函数。

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

感谢您的帮助。

最佳答案

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

要防止这种情况,请使用以下方法之一

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

/* OR*/

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

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

关于ajax - jQuery .ajax 'success' 函数从未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545265/

24 4 0