http.onreadystatechange = function() {
handleResponse(theDiv);
}
Tjo!
Såhär ser min nuvarande kod ut, och den funkar, men jag vill kunna skicka med ytterliggare en parameter i sndReq för att ange vilken div-id som utdatan ska skrivas till.
Anropas med: sndReq('hej.asp?foo=bar')
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sndReq(theURL) {
document.getElementById('ajax_response').innerHTML = "<div align='center'><img src='ajax-loader.gif'><br>Hämtar data...</div>"
http.open('get', theURL);
http.send(null);
http.onreadystatechange = handleResponse;
}
function handleResponse() {
if(http.readyState == 4 && http.status==200) {
document.getElementById('ajax_response').innerHTML = http.responseText;
}
}
Jag tänkte ju att det här blir enkelt att fixa, är ju bara att skicka med en variabel till, right? Nej, följande kod "fastnar" på readystate 1 :(
(Diff mot ovanstående kod med fetstil)
Anropas med: sndReq('hej.asp?foo=bar','ajax_response')
function createRequestObject() {
var ro;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
ro = new ActiveXObject("Microsoft.XMLHTTP");
}else{
ro = new XMLHttpRequest();
}
return ro;
}
var http = createRequestObject();
function sndReq(theURL[B],theDiv[/B]) {
document.getElementById([B]theDiv[/B]).innerHTML = "<div align='center'><img src='ajax-loader.gif'><br>Hämtar data...</div>"
http.open('get', theURL);
http.send(null);
http.onreadystatechange = handleResponse[B](theDiv)[/B];
}
function handleResponse([B]theDiv[/B]) {
if(http.readyState == 4 && http.status==200) {
document.getElementById([B]theDiv[/B]).innerHTML = http.responseText;
}
}
Jag har en svag känsla om att det är något löjligt enkelt jag missat, så det här öppna målet bjuder jag på ;)
