這可能真的很明顯,但我無法弄清楚。爲什麼我的回調只在一頁上被調用?
我使用jQuery來獲取一些JSON,然後將其插入一些元素並將其顯示在我的頁面上。
它工作正常all pages除了one,其中響應似乎是頁面本身。
我已經把alert()
S IN的回調(success
和complete
),他們似乎從來沒有被解僱(雖然螢火蟲顯示請求返回200 OK
這應該觸發success
處理)。
我不知道該怎麼做,我從來沒有遇到過這個。
這裏是我使用jQuery代碼...
var specials = (function() {
var specials = false,
specialsAnchor;
var init = function() {
specialsAnchor = $('#menu-specials a');
specialsAnchor.click(function(event) {
event.preventDefault();
if (specials != false && specials.is(':visible')) {
hide();
} else {
show();
}
});
};
var load = function(callback) {
specialsAnchor.addClass('loading');
specials = $('<div />', { 'id': 'specials' }).hide().appendTo('#header');
var specialsUl = $('<ul />').appendTo(specials);
$.ajax(specialsAnchor.attr('href'), {
dataType: 'json',
success: function(data) {
$.each(data, function(i, special) {
specialsUl.append('<li><h4>' + special.heading + '</h4><p>' + special.content + '</p></li>');
});
specialsAnchor.removeClass('loading');
callback.call();
}
});
}
var show = function() {
if (specials == false) {
load(show);
return;
}
specials.slideDown(500);
}
var hide = function() {
specials.slideUp(500);
}
$(init);
})();
這是怎麼回事?
謝謝。
其中'data.basePath'來自...我沒有看到'data'定義在任何地方。 Nevermind ..它是一個全球... – prodigitalson 2011-04-19 02:15:31
@prodigitalson說了什麼,並在一個側面說明,我會認爲這是某種URL /層次結構問題。 – mattsven 2011-04-19 02:16:21
@prodigitalson它在'head'元素中定義。 – alex 2011-04-19 02:17:33