| FAQ |
| Kalender |
|
|
#1 | |||
|
||||
|
Flitig postare
|
Jag har lite problem med en Ajax grej.
Jag får alltid upp föregående resultat... ajax kod: Kod:
function getLastId(intId){
xr = new ActiveXObject("Microsoft.XMLHTTP");
xr.open("GET", "lastid.asmx/last?localId=" + intId, true);
xr.onreadystatechange = function() {
doc = xr.responseXML;
if (xr.readyState == 4) {
if (xr.status == 200) {
if (doc.evaluate) {
query = doc.evaluate("//text()", doc,null,XPathResult.STRING_TYPE, null).stringValue;
}else {
query = doc.selectSingleNode("//text()").data;
}
} else {
query = "Error";
}
}
}
xr.send(null);
return query;
}
alert(getLastId("123")) så får jag blankt första gången. men kör jag koden så här: alert(getLastId("123")) alert(getLastId("321")) Så kommer första alerten vara tom medans andra innehåller IDt till 123 (den första alerten) Någon som ser något fel i koden eller kan ge mig tips på hur jag kan få igång det... |
|||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Mycket flitig postare
|
Jag misstänker att det har med A:et i Ajax (Asynkront). Det du försöker göra är väldigt synkront.
Försök på detta sätt istället (reservation för syntaxfel): Kod:
function getLastId(intId){
xr = new ActiveXObject("Microsoft.XMLHTTP");
xr.open("GET", "lastid.asmx/last?localId=" + intId, true);
xr.onreadystatechange = responseHandler;
xr.send(null);
return xr;
}
function responseHandler() {
doc = xr.responseXML;
if (xr.readyState == 4) {
if (xr.status == 200) {
if (doc.evaluate) {
query = doc.evaluate("//text()", doc,null,XPathResult.STRING_TYPE, null).stringValue;
}else {
query = doc.selectSingleNode("//text()").data;
}
} else {
query = "Error";
}
}
alert(query); /* Här gör du det du vill göra då du får datat */
}
xr = getLastId(4711)
|
||
|
|
Svara med citat
|
|
|
#3 | |||
|
||||
|
Flitig postare
|
Funka, tack!
|
|||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Klarade millennium-buggen
|
Kan rekommendera prototypes ajax-framework. Mycket trevlig och enkelt att använda. Så slipper du ovanstående problem och får en mera robust lösning direkt.
|
||
|
|
Svara med citat
|
|
|
#5 | |||
|
||||
|
Flitig postare
|
Grazzy: Ska kika på det när jag hinner...
|
|||
|
|
Svara med citat
|
|
|
#6 | |||
|
||||
|
Har WN som tidsfördriv
|
Finns även integrerat i Symfony på ett smidigt sätt...
|
|||
|
|
Svara med citat
|
| Svara |
|
|