我在我的新網站上使用jQuery和Ajax功能時發現了一個可能的錯誤,或者更可能是我的代碼上的一些大錯誤,這使我瘋狂。調試AJAX + Jquery網頁 - 內容的動態加載似乎不起作用
下面是進一步提供文件的網站的網址,當我調用函數loadXML的使用AJAX這種方式加載某些內容出現 http://phpschool.altervista.org/is/
問題:
$("#menubar .button").live("click",function() {
$("#aj_load").fadeOut("slow", function()
{
loadXML('archive/'+$(this).attr("id")+'.html');
});
});
// #menubar .button is the identifier for the menu buttons.
// #aj_load is the div that contains ajax contents when requested.
這段代碼的這樣的意思,應該是
Fade out the contenitor aj_load,
Load Contents using ajax,
Show out the contenitor with contents,
但是,當我這樣做時,ajax請求報告錯誤404或12000,腳本停止運行。
如果試圖在網站上點擊有關按鈕例如,你應該看到它的正常工作,因爲我在爲了從contenitor刪除淡出功能已經修改了代碼:
$("#menubar .button").live("click",function() {
loadXML('archive/'+$(this).attr("id")+'.html');
});
爲什麼一個淡入淡出的函數會干擾Ajax請求呢? 我無法解釋這一點。
loadXML包含來自jquery的.load()函數,您可以在網站上看到它。
非常感謝,
編輯:
function loadXML(xmlURL)
{
resetStyles();
$("#aj_load").load(xmlURL+" #content0"+cur_seq, function(response, status, xhr) {
if (status == "error")
{
var msg = "Pagina Non Trovata: ";
$("#aj_load").html('<br/><br/><br/><h3 style="text-align:center">'+msg + xhr.status + " " + xhr.statusText+'</h3>');
}
else
{
num_seq = $("#aj_content").text();
if(num_seq !="0")
{
$("#less").off("click").on("click", function()
{
$("#aj_load").fadeOut("slow",function()
{
slideUP(num_seq);
loadNEXT(xmlURL,"prev");
});
});
$("#more").off("click").on("click", function()
{
$("#aj_load").fadeOut("slow",function()
{
slideDW(num_seq);
loadNEXT(xmlURL,"next");
});
}).fadeIn("slow");
}
}
}).delay(300).fadeIn("slow",function(){inAnimation();});
}
請發佈'loadXML' – bfavaretto 2012-02-27 17:20:39
的代碼,希望它有幫助。謝謝 – Ivan 2012-02-27 17:23:46
除了你的javascript可能出現的問題,我查了一下實時網站,它確實爲大多數頁面返回404。首先,您必須確保頁面存在並且可以通過正常請求訪問(通過直接在瀏覽器地址欄中輸入URL進行測試)。你'約','formazione'和'contatti'頁面確實存在,其他的則不存在。 – bfavaretto 2012-02-27 17:30:52