Kom ihåg mig?
Home Menu

Menu


Ajax-trubbel!

Ämnesverktyg Visningsalternativ
Oläst 2006-08-29, 00:35 #1
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
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;
  }
När jag kör tex

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...
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-29, 08:00 #2
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
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)
eg0master är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-30, 09:23 #3
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
Funka, tack!
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-30, 11:11 #4
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
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.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-30, 13:30 #5
Frejs avatar
Frej Frej är inte uppkopplad
Flitig postare
 
Reg.datum: Jul 2004
Inlägg: 463
Frej Frej är inte uppkopplad
Flitig postare
Frejs avatar
 
Reg.datum: Jul 2004
Inlägg: 463
Grazzy: Ska kika på det när jag hinner...
Frej är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-08-30, 14:20 #6
koalas avatar
koala koala är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Sep 2004
Inlägg: 1 154
koala koala är inte uppkopplad
Har WN som tidsfördriv
koalas avatar
 
Reg.datum: Sep 2004
Inlägg: 1 154
Finns även integrerat i Symfony på ett smidigt sätt...
koala är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 14:16.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017