fetch.js
Kod:
function sendRequest(url,callback,postData) {
var req = createXMLHTTPObject();
if (!req) return;
var method = (postData) ? "POST" : "GET";
req.open(method,url,true);
req.setRequestHeader('User-Agent','XMLHTTP/1.0');
if (postData)
req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
req.onreadystatechange = function () {
if (req.readyState != 4) return;
if (req.status != 200 && req.status != 304) {
// alert('HTTP error ' + req.status);
return;
}
callback(req);
}
if (req.readyState == 4) return;
req.send(postData);
}
var XMLHttpFactories = [
function () {return new XMLHttpRequest()},
function () {return new ActiveXObject("Msxml2.XMLHTTP")},
function () {return new ActiveXObject("Msxml3.XMLHTTP")},
function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
function createXMLHTTPObject() {
var xmlhttp = false;
for (var i=0;i<XMLHttpFactories.length;i++) {
try {
xmlhttp = XMLHttpFactories[i]();
}
catch (e) {
continue;
}
break;
}
return xmlhttp;
}
function updatepage(str){
document.getElementById("result").innerHTML = str;
}
html-sida
Kod:
<html>
<head>
<script type="text/javascript" src="js/fetch.js"></script>
</head>
<body>
<form name="feeds" action="index.html" method="post">
<select name="feed" onchange="sendRequest('show_feed.php?feed=' + this.options[this.selectedIndex].value, updatepage)">
<option value="">Välj</option>
<option value="http://www.geiser.se/feed">Geiser.se</option>
<option value="http://feeds.feedburner.com/tkjblogg?format=xml">TkJ</option>
<option value="http://www.dan.se/feed">Dan.se</option>
</select><br />
<div id="result"></div>
</form>
</body>
</html>
Hur fungerar denna koden?
Detta är koden ifrån:
http://www.quirksmode.org/js/xmlhttp.html med modifikationer i din html-kod för att passa scriptet.