3

我这里有一个接受用户凭据的表单。如果用户具有无效的用户凭据,则页面将不会加载但是如果他或她具有有效的凭据,我希望页面进行整页刷新,我将如何实现?我试过添加。

window.location.href = window.location.href; 

在响应 html 但它不起作用,似乎 jquery 正在删除脚本代码?

这是用于表单提交的 AJAX。

$('body').on('submit', '#sign-in', function(e) {
    e.preventDefault();

    var data = $(this).serialize();

    var url = $(this).attr('action');
    $.ajax({
        //this is the php file that processes the data and send mail
        url : url,
        type : "POST",
        data : data,
        //Do not cache the page
        cache : false,
        //success
        success : function(data) {
            alert(data);
            $('#loginModal').html($(data).find('#loginModal').html());
        }
    });
})

如果用户具有有效凭据,则成功的响应将是这样

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script>
    window.location.href = window.location.href;

</script>
</head>

但页面没有重新加载。

4

2 回答 2

5

In the success function you can use the JavaScript way to reload :

location.reload();

A bit like this

$('body').on('submit', '#sign-in', function(e) {
    e.preventDefault();

    var data = $(this).serialize();

    var url = $(this).attr('action');
    $.ajax({
        //this is the php file that processes the data and send mail
        url : url,
        type : "POST",
        data : data,
        //Do not cache the page
        cache : false,
        //login success
        success : function(data) {
            //... your other code
            location.reload(); //reload the page on the success
        }
    });
})

That implies that your query thorws an error when the login fails so it doesn't go in your success function.

于 2013-02-03T03:09:42.593 回答
1

看看能否在成功函数中使用这段代码

收到有效响应(如 1)

$(document).attr('location').href='your location'
于 2013-02-03T03:00:19.130 回答