Hej! Jag är inte så insatt i xmlHttprequest, men med tanke på att du anger en callback-metod så ser det väl åtminstone ut att vara asynkront. Lätt att kolla dock. Slutar allt annat att fungera? Kan du klicka på annat? Köra andra script under tiden? I så fall är det asynkront. Jag gissar på det, men det kommer säkert någon mer insatt och bekräftar eller förklarar... Lycka till! Svaret från requesten kommer att hanteras asynkront, men själva anropet görs här synkront. Hej! Hej igen! Du ska inte starta några nya trådar på serversidan. Du ska jobba med ajax alltså javascript och xml. Du har t.ex. en webform DoWork.aspx som du anropar med Javascript (request.open).AJAX - xmlHttprequest
Har en kort fråga som jag skulle bli mycket tacksam om någon kan besvara. Jag har skapat ett xmlHttprequst object i min javascript kod och anropar sedan metoden request.open("GET", url, true); och har satt request.onreadystate till en funktion som jag vill ska väckas när anroppet är färdigt. Min fråga är nu:
Är mitt anropp asynkront?? Om inte hur ska jag då skriva för att göra det asynkront? Och om det är asynkront, borde det inte skapa en ny tråd i mitt program i så fall? Jag har känslan av att min kod löper på samma tråd men skulle vilja ha det asynkront på två trådar
Hälsningar / Fredrik Sv: AJAX - xmlHttprequest
Sv: AJAX - xmlHttprequest
Under normala omständigheter klaras detta av på några millisek så du bör inte märka det.
Men för att göra det helt asynkront kan du testa detta.
Låt säga att du har en JS-function:
DoAjaxStuff()
som gör ditt anrop.
Då kan du anropa den så här
var returnValue = setTimeout('DoAjaxStuff()', 0)
Nu körs din Ajaxkod i en egen tråd.
Tricket är att ta emot returvärdet från setTimeout.Sv:AJAX - xmlHttprequest
Jag tackar för era snabba svar. Jag har testat vidare och jag måste säga att det hela är väldigt komplicerat tycker jag. Jag anger i mitt anropp en aspx sida och kommer då in i dennes page_load metod. Här så vill jag starta en tråd eller en loop som ska gå en längre tid. Vad jag vill är att detta sker brevid den normala koden. Men om jag i page_load metoden skapar en tråd så returnes svaret direkt. Alltså min onreasystate funktion anropas direkt efter att min page_load metod har löpt igenom. Och om jag lägger en loop i page_-load metoden så hänger sig allt tills denna loop är färdig. Hur kan jag göra mitt anropp och få en loop eller en tråd att löpa och sedan någon gång när jag vill skicka tillbaka svaret och väcka min onreadystate metod?
Hoppas att ni förstår hur jag menar!?
Tack på förhandSv:AJAX - xmlHttprequest
För att förtydliga lite till! Eller kanske blir ännu mer komplicerat att förstå. Jag kanske uttrycker mig lite dåligt ibland. Men jag vill helt enkelt på något sätt öppna en andra tråd, eller en process som löper brevid. Anledningen till det här är för att min kod anroppar ett buisness lager som någon gång kommer att svara mig. Men jag vet inte när och vad?. När jag får det här svaret kan det hända att jag måste öppna en dialog för användaren och utifrån det som användaren anger så ska jag skicka tillbaka detta till min server. Detta innebär att när servern svarar mig och jag tvingas slå upp en dialog för användaren m,åste jag på något sätt låsa anroppet ifrån servern för att senare kunna returnera den informationen som användaren ger mig. Oj... hoppas att någon kan förstå det här och hjälpa mig.
Tackar på förhandSv: AJAX - xmlHttprequest
För webbklientens räkning fungerar denna request som "en egen tråd" utan att du behöver skapa några trådar i Dotnet.