0

トップヘッダー、左ナビゲーション、コンテンツ iframe の 3 つの iframe を含むページがあります。

(これはレガシー アプリケーションです)。

3 つの iframe を含むページは、ページへの jQuery AJAX 呼び出しを行います。

/users/getNotifications.aspx

時々 (私がログインしていないときだと思います)、ブラウザーは私の AJAX 呼び出しの URL にリダイレクトします。つまり、localhost/users/getNotifications.aspx

私は明らかにこのようにリダイレクトしたくないのですが、なぜこれが起こっているのでしょうか?

ノート:

マイページは次のように応答します。

 Response.ContentType = "text/html";
 Response.Write(resultInHtml);

また、ユーザーがログインしていない場合、ページはリダイレクトされません。

これは、ajax requesT を使用してデータを取得するために呼び出すメソッドです。

var x = function () {
        $.ajax({
            type: "GET",
            url: webRoot + "users/getNotifications.aspx",
            cache: false,
            success: function (payload) {
                if (payload.length > 0) {
                    $("#users-popup").html(payload);
                }
                displayPopup();                
            }
        });
    }
4

1 に答える 1

0

この問題は、ログインしていないときにページから返された結果を JavaScript が適切に処理していない可能性があります。このコンテキストに存在しない値を抽出しようとしている可能性があり、エラーがスローされます。

これは、関数の実行が終了しないことを意味するため、「return false」またはデフォルトの動作を防止するその他の方法は実行されず、デフォルトのクリック動作が発生し、新しいページに移動します。

それ以上のコードはありませんが、それは単なる理論です。

于 2012-09-07T13:33:09.807 に答える