Avatar billede kennedk Nybegynder
02. maj 2007 - 21:07 Der er 6 kommentarer og
1 løsning

ajax ventetid

Hej eksperter
Jeg sidder og er i gang med et skole projekt, hvor vi skal lave en hjemmeside for en virksomhed , i mit tilfælde en murer..

De havde en webserver (one.com), men det viser sig at den er ok langsom.

Siden ser sådan her ud : http://wetche.com/default.asp

jeg bruger ajax til at loade alt indhold til siden via en database.

jeg har bikset ajax koden sammen fra http://www.w3schools.com/ guides, og jeg er med på hvad det hele handler om.
Men hvordan kan man få en lille tekst frem når man trykker på en af linkene? og så at når selve indholdet er loadet så vises det?

jeg ved at det er muligt, men jeg kan ikke lige se hvordan ? :)

Håber i kan hjælpe hurtigst muligt!
Avatar billede smirnoff Nybegynder
02. maj 2007 - 21:12 #1
hvis du kører dit Ajax asynkront, så ta et kig på onreadystatechange-eventen
Avatar billede kennedk Nybegynder
02. maj 2007 - 21:14 #2
jeg har disse linier i min kode.
Men det ser ikke ud til at virke.

xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="database.asp";
url=url+"?fldId="+str;
url=url+"&sid="+Math.random();
url = url + qstring;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged()
{
if (xmlHttp.readyState==3)
{
document.getElementById("tekst").innerHTML="Vent venligst"
}
if (xmlHttp.readyState==4)
{
document.getElementById("tekst").innerHTML=xmlHttp.responseText;
}
}

Inde på w3school har jeg læst mig til at 3 skulle være i ventetiden, eller vrøvler jeg?
Avatar billede smirnoff Nybegynder
02. maj 2007 - 21:20 #3
det ka jeg ærligtalt ikke huske - men det lyder rigtigt nok .. 4 er i al fald "complete" - du kunne jo:
  ...
  xmlHttp.send(null)
  document.getElementById("tekst").innerHTML="Vent venligst";
}

function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("tekst").innerHTML=xmlHttp.responseText;
}
}

- og du er sikker på at document.getElementById("tekst") ikke er null ?
Avatar billede kennedk Nybegynder
02. maj 2007 - 21:24 #4
Nu virker det i hvert fald.

if (xmlHttp.readyState==1)

Så virkede det :)

Det var jo en dum lille fejl :)
Hvis du synes så må du gerne sende et svar, som tak for din tid
Avatar billede smirnoff Nybegynder
02. maj 2007 - 21:25 #5
helt ok
Avatar billede roenving Novice
02. maj 2007 - 23:42 #6
w3schools guides omkring ajax lider desværre af den fejl, at der overhovedet ikke er noget reelt ajax i dem ,-(

-- Asynkron Javascript og(/And) Xml på deres måde at gøre det på, har jo ikke det fjerneste med hverken den ene eller den anden måde at flytte data, som enten er xml eller json (JavaScript Object Notation) ...

Desværre er de svære at modsige, for nu har deres totalt forfejlede tutorial ligget på nettet i 3-4 år ;-{

-- innerHTML findes simpelthen ikke i nogen som helst rekommendation eller standard, så det er rigtig dårlig karma, at instruere folk i at benytte den ...

-- og hvis det en dag lykkes at få bare een browser til at bruge xhtml, er den nødt til at gå ned med et hult drøn, når der genereres en xml-fejl, som følge af brugen af denne !-)
Avatar billede olebole Juniormester
03. maj 2007 - 14:53 #7
<ole>

roenving >> Det føles unægtelig, somom w3schools.com har haft deres tut liggende 3-4 år - i hvertfald har den gjort mindst 10 års skade(!) - men AJAX fik nu først sit navn i begyndelsen af 2005 ... så deeeeeeeet ....  ;o)

kennedk >> Kun med Flash kan du opnå en næsten ligeså effektiv måde at gemme et site for Goggle på (Flash er dog lidt lettere at tackle i den henseende). AJAX bør _aldrig_ anvendes til indhold, der via søgemaskiner skal kunne findes på WWW - men er alligevel vældig anvendeligt i mange situationer.

Selve udgangspunktet for opgaven er således helt forfejlet. Jeg håber, det er en ukyndig lærers valg, at sitet skal laves i AJAX ... ellers har du nok sat vand over tik 'øretæver'  =)

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester