到目前爲止,我一直在做一個AJAX調用替換另一個頁面div的內容,使用下面的代碼:在JSP使用jquery更換DIV內容
<script>
function fetchContainerContent(url, containerid) {
var req = false
if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP")
} catch (e) {}
}
} else if (window.XMLHttpRequest) {
req = new XMLHttpRequest()
} else {
return false
}
req.onreadystatechange = function() {
requestContainerContent(req, containerid)
}
req.open('GET', url, true)
req.send(null)
}
function requestContainerContent(req, containerid) {
if (req.readyState == 4 && (req.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML = req.responseText
}
</script>
我試圖轉換上述代碼如下使用jQuery,但它不起作用。換句話說,我試圖模仿上述行爲的最終結果,但它遠沒有那麼接近。事實上,屏幕上什麼也沒有發生,沒有任何變化。我應該提到,我並不真的需要加載...但由於我見過的例子使用它,並且因爲我不確定如何正確地語法化jQuery,所以我將它留下了。
<script>
function fetchContainerContent(url, containerid) {
jQuery.ajaxSetup ({
cache: false
});
var ajax_load = "loading...' />";
jQuery("#load_basic").click(function() {
jQuery("#"+containerid).html(ajax_load).load(url);
});
}
</script>
在此先感謝。我對jQuery非常陌生,所以我可能做了一些非常愚蠢的事情。
後收到的所有意見(謝謝你們!)我已經只剩下:
function fetchContainerContent(url, containerid){
var ajax_load = "loading...";
$("#load_basic").click(function(){$("#"+containerid).html(ajax_load).load(url);});
}
,但我仍然有問題,因爲它沒有更新頁面。沒有js錯誤,沒有任何反應。
請定義「不起作用」。有幾十個理由我們可以考慮。怎麼了?不會發生什麼?相應地編輯你的問題。 – BalusC 2009-12-16 13:07:49
哪部分不工作?你看到「加載...」的消息,然後沒有更多或是別的嗎?此外,你有沒有試過螢火蟲,看看是否有任何錯誤報告? – kgiannakakis 2009-12-16 13:09:03
你說得對,我不是很清楚。我試圖模仿上述行爲的最終結果,但它遠不是那樣。事實上,屏幕上什麼也沒有發生,沒有任何變化。第一個片段發生的事情是,一個div會被來自url的代碼取代,但現在我根本沒有得到任何迴應。 – heeboir 2009-12-16 13:49:03