0

我对该代码有一个非常奇怪的问题。这种情况是众所周知的——通过$.ajax(). 但问题是,我只能使用该代码 4 次(编辑后:8 次),之后不会附加来自服务器的结果。怎么了 ?

编辑

情况:在第 4 次附加返回的 HTML 之前,但在第 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 回答