Jquery 成功提交Ajax后刷新无效

Jquery 成功提交Ajax后刷新无效,jquery,Jquery,除了成功提交后页面没有刷新外,其他一切都很正常。怎样才能做到呢 服务器端: $(document).ready(function(){ $("#login").click(function(){ $.post($('#loginform').attr("action"), $('#loginform').serializeArray(), function(data) { if(data == 'Success'){

除了成功提交后页面没有刷新外,其他一切都很正常。怎样才能做到呢

服务器端:

$(document).ready(function(){

    $("#login").click(function(){
    $.post($('#loginform').attr("action"), $('#loginform').serializeArray(), function(data) {
                if(data == 'Success'){
                    $(document).ajaxStop(function() { location.reload(true); });
                }else {
                    $('#loginmsg').html(data);
                }
        });
    });
});

您需要:

<?php
if (empty($_POST) === false){
    $username = $_POST['username'];
    $password = $_POST['password'];

    if (empty($username) === true || empty($password) === true){
        $errors[] = 'You need to enter a username or password';
    }
    else if (user_exists($username)===false){
        $errors[] = 'We can\'t find that username in our database.';
    }
    else if (user_active($username) === false){
        $errors[] = 'Activate your account.';
    }   else    {
        $login = login($username,$password);
        if ($login === false){
            $errors[] = 'Incorrect combination.';
        } else {
            $_SESSION['user_id'] = $login;
            $errors[] = 'Success';
            exit();
        }
    }
}else {
    $errors[] = 'No data received!';
}
output_errors($errors);
?>

你不需要打电话。将您的成功代码更改为:

window.location.href=window.location.href

删除PHP中对
exit()
的调用。在成功的情况下,它会阻止它输出错误($errors),因此您永远不会将
成功
消息发送给客户端。

console.log(data)的确切结果是什么?您确定您的Ajax响应吗?将警报放入if(data=='Success'),然后检查。您正在
ajaxStop
处理程序中重新加载。除非还有其他AJAX请求未完成,或者您执行了另一个AJAX请求,否则不会发生这种情况。@Edwin Alex,if(data='Success'){//which script}中的which is脚本不起作用!我试着把‘警报(数据);’没用。可能是因为这是我正在创建的一个登录表单。@yoosif那么您的回答可能是错误的。将警报(数据)置于if条件之前,并检查您收到的响应如果
位置
未被隐藏,
位置
窗口相同。位置
@dystroy Arvind未包含的
参数如何?@JanDvorak该参数仅告诉浏览器强制执行新请求。OP把它包括进来是对的,很抱歉没有回复你。问题在于if(data=='Success')。从服务器返回的
data1是什么样子的?是否正在执行
else`代码?是的,我想如果(数据=='Success'),谢谢您指出。我取出了exit(),现在警报数据显示“success”,但是页面仍然没有刷新。我需要那里的exit()代码吗?你是否也像rob说的那样删除了
ajaxStop()
?如果脚本在
output\u errors()
之后结束,则不需要
exit()
window.location.href=window.location.href
if(data == 'Success'){
  location.reload(true);
}