我正在構建一個自定義小部件,我不應該使用任何框架,如jQuery,我需要一個輕量級的跨瀏覽器對象,支持POST & GET與回調,我見過一些在線解決方案,但他們包括很多無用的東西。輕量級AJAX對象建議?
感謝
我正在構建一個自定義小部件,我不應該使用任何框架,如jQuery,我需要一個輕量級的跨瀏覽器對象,支持POST & GET與回調,我見過一些在線解決方案,但他們包括很多無用的東西。輕量級AJAX對象建議?
感謝
只需使用XMLHttpRequest的對象自己。
我傾向於喜歡看mozilla網站看例子,他們對這個問題有一個很好的解釋。
https://developer.mozilla.org/En/XMLHttpRequest/Using_XMLHttpRequest
這是不難做到的,它支持任何HTTP請求,併爲您想讓它,這取決於你想如何容易使其使用起來簡單或複雜。
儘管jQuery有一個不錯的API,所以複製它們的樣式可能會很有用。
UPDATE:
你應該參考上面的鏈接,但看到POST如何可以做到的,主要是你把參數代入send
功能,你可以看看這個。不要只複製這段代碼,我只是在這裏舉一個簡單的例子。
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://foo.com/submitform.php");
xhr.send(formData);
爲了得到你只是把它們在URL中,就像在你的地址欄中,並在send
空。
如果你不能使用JQuery,你可以從頭寫一個不使用任何庫: -
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("yourdiv").innerHTML=xmlhttp.responseText;
}
}
// change "GET" to "POST" if you want to POST
xmlhttp.open("GET","/yourlink",true);
xmlhttp.send();
您可能也想要顯示POST的代碼,但我想他可能想了解一些部分,以瞭解readyState的哪些類型的值可以是,例如。 –
@James Black:除了readyState(4 == Complete)之外,其他人不保證觸發。 – mhitza
@mhitza - 我的觀點是,只發布沒有上下文的代碼將幫助他理解真正發生了什麼,或者如何使其按照他的意圖工作。 –
你在考慮什麼沒用,它可能有助於解釋爲什麼這些可能是有用的。 –