0

そのコードには非常に奇妙な問題があります。状況はよく知られています - 経由でページを非同期ロードします$.ajax()。しかし問題は、そのコードを 4 回しか使用できず (編集後: 8 回)、その後サーバーからの結果が追加されないことです。どうしたの ?

編集

状況: 返された HTML が 4 回目の前に追加されていますが、4 回目以降は同じ HTML が追加されていません。

$('a.menu-item').click(function () {
     loadContent($(this).attr('href'));
});

    function loadContent(hash) {
                window.location.hash = hash;

                $.ajax(
                {
                    url: '/MyAction/' + hash.replace('#', ''),
                    type: 'post',
                    contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
                    cache : false,
                    success: function (res) {
                                appendData(res);
                            },
                    complete: function(xhr, textStatus) {
                        if(xhr.status == '404') {
                            alert('not found');
                        }
                    } 
             });
    }

function appendData(res) {
        $('#myContent').remove();
        $('<div id="myContent" class="inner-container">'+res+'</div>')
        .appendTo('#mainContainer');
    }
4

2 に答える 2

0

わかりました、私はそれを理解しました。私は、firebug が同じ名前の別の関数を実行する場合があることに気付きました。loadContentただし、引数は異なっていました。その関数の名前を変更した後、問題はなくなりました。ご協力いただきありがとうございます !

于 2012-08-15T16:24:30.643 に答える
0

isLoadingフラグを削除します。定義されておらず、必要もありません。

于 2012-08-15T15:17:43.303 に答える