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

success 関数では、JavaScript の方法を使用してリロードできます。

location.reload();

ちょっとこんな感じ

$('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
        }
    });
})

これは、ログインが失敗したときにクエリがエラーをスローするため、成功関数に入らないことを意味します。

于 2013-02-03T03:09:42.593 に答える
1

このコードを成功関数で使用できるかどうかを確認してください

有効な応答を受け取ったとき (1 など)

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