1

frame.phpページがあります

if(isset($_COOKIE['user'])){
// do some stuff
}else{
// login script
}

jquery.frame.phpページ

$("#infm_login_button").live("click",function(){
    $.ajax({
        url: "urltologinformacceptance",
        type:"POST",
        data: $("#login").serialize()
    }).done(function(data){
        //do stuff
    });
    return false;

});

同じframe.phpで、jqueryにどのように伝えますか、ああ、ユーザーがログインしました、はい、先に進んでセクションに進み// do some stuffます。ただし、ユーザーにページを更新させたくありません。// login scriptユーザーがログインしている場合にのみ、ページを更新せずにコンテンツを からに変更したいだけです。jquery をそのframe.phpと通信// do some stuffさせる方法はありますか?cookie

ありがとう!

4

2 に答える 2

0

Djerro Neth の答えに加えて。ログインしているユーザーの出力 (メニュー、リンクなど) をエコーし​​ます。

 if(isset($_COOKIE['user'])){
 // do some stuff
      echo "Welcome back ".$_COOKIE['user']."!";
 }else{
 // login script
 }

jQueryを使用してframe.phpから返された新しいコンテンツで、ログインフォームにあるdivを上書きします。

 success : function(data)
           {
              $("#loginspace").html(data);
           }           
于 2012-08-04T05:31:12.423 に答える
0

最初に: live は jQuery 1.4 などから廃止されました。代わりに .on() を使用してください。

第二に、ajax 呼び出しが完了したときに何かを「実行」したくはありませんが、それが成功した場合です。タイムアウトになったら?これを試して:

                $.ajax({
            type : 'POST',
            url : 'url.php',
            data: $("#login").serialize(),

            success : function(data){
                $(document).html(data);
            }


                });

これにより、url.php の出力がドキュメント全体に出力されます。これは、php の include() のようなものです。

于 2012-08-04T01:24:24.890 に答える