Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


AJAX-problem i Firefox 3

Postades av 2009-02-12 11:16:37 - Curt Sundqvist, i forum javascript/dhtml, Tråden har 6 Kommentarer och lästs av 1691 personer

Denna kod fungerar perfekt i alla webb-läsare utom Firefox, där jag inte får tillbaka något, d.v.s. variabeln svar blir null.
Om jag kollar innehållet i http_request.responseText så är det det rätta, men när jag lägger det i svar så blir det null. Och det händer bara i Firefox.

Nån som har ett bra svar?



            var http_request = false;
            var svar=null;

            function makeRequest(url) {
            	
                http_request = false;
                if (window.XMLHttpRequest) { // Mozilla, Safari,...
                    http_request = new XMLHttpRequest();
                    if (http_request.overrideMimeType) {
                        http_request.overrideMimeType('text/xml');
                    }

                } else if (window.ActiveXObject) { // IE
                    try {
                        http_request = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                        http_request = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {}
                    }
                }

                if (!http_request) {
                    alert('Avbrott :( Kan inte skapa en XMLHTTP instans');
                    return false;
                }
                http_request.onreadystatechange = alertContents;
                http_request.open('GET', url, false);
	http_request.setRequestHeader("Content-type", "application/xml");
                http_request.send(null);
            }

            function alertContents() {
                if (http_request.readyState == 4) {
                    if (http_request.status == 200) {
 	        svar = http_request.responseText;
  	        return svar;
                    }
                    else {
                        alert('Frågan kunde inte exekveras.');
                        alert(http_request.statusText);
                    }
                }
            }

makeRequest("checklogin.asp?anv=" + document.getElementById("anv").value + "&pw=" + document.getElementById("pw").value + "&dum=" + Math.random());
alert(svar);


Svara

Sv: AJAX-problem i Firefox 3

Postades av 2009-02-12 14:46:43 - Oskar Johansson

Det där körs asynkront, alertContents() körs långt efter att makeRequest() har returnerat, och alert() har körts. Förslagsvis flyttar du din alert in till alertContents() istället


Svara

Sv:AJAX-problem i Firefox 3

Postades av 2009-02-12 17:40:29 - Curt Sundqvist

Tror inte att jag förstod det där. alerten som ligger efter makeRequest har jag lagt dit bara för att avläsa svaret.
makeRequest() ligger i en egen funktion

function checklogin() {
 makeRequest(.....);
 ...gör nåt utifrån vad variabeln svar returnerar
}


Funkar överallt utom i Firefox.......


Svara

Sv: AJAX-problem i Firefox 3

Postades av 2009-02-13 15:21:23 - Oskar Johansson

Grejjen är att requesten går till såhär, om man ritar upp den på en timeline:

Tråd #1:
makeRequest();
|
Påbörja ajaxanrop -> Skapar tråd #2
|
alert(svar);

Tråd #2:
Vänta på att ajaxanropet är avslutat
|
alertContents();


Tråd #1 och Tråd #2 körs alltså parallellt, och eftersom att makeRequest bara kommer påbörja anropet så returnerar den ganska så på en gång. Tråd #2 däremot tar ett tag på sig innan den har kontakta servern etc. Först efter det körs alertContents(). (Nu kan man iofs inte vara säker på att de körs parallellt osv, men det är detaljer.)

Poängen är att du visar din alert på fel ställe, istället för att visa den efter att anropet har påbörjats så ska du visa den efter att anropet har avslutats. Om du flyttar din alert(svar) in i alertContents() så kommer det med andra ord att fungera :)


Svara

Sv:AJAX-problem i Firefox 3

Postades av 2009-02-14 15:36:19 - Curt Sundqvist

Jag förstår fortfarande inte varför det fungerar klockrent i alla andra webb-läsare.
Att lägga in en alertruta i alertContents som visar vad variabeln svar innehåller är ju inte huvudsyftet.

Min timeline ser ut så här:

1. makeRequest(url)
2. Få ett svar tillbaka från den anropade url:en
3. Gör något med utgångspunkt från vad variabeln svar innehåller.

Dessutom är - http_request.open('GET', url, false); - vilket bör betyda, att vi väntar tills svaret har returnerats eller?


Svara

Sv: AJAX-problem i Firefox 3

Postades av 2009-02-14 15:49:14 - Oskar Johansson

http://groups.google.com/group/microsoft.public.scripting.jscript/browse_thread/thread/95697b6344b8163a/9c9b17d4f4870bdb?pli=1

Firefox verkar bugga när den kör synkront, anropar inte alltid onreadystatechanged. Hur som haver, mitt förslag är att du kör på ett färdigt bibliotek istället för att hacka eget, buggar som t.ex. den här är redan hanterade då nämligen.


Svara

Sv:AJAX-problem i Firefox 3

Postades av 2009-02-21 10:02:48 - Curt Sundqvist

Den länken var precis vad som behövdes. Tack!


Svara

Nyligen

  • 17:03 Getmancar your go-to carsharing
  • 14:07 Games
  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 571 428
27 965
271 785
1 720
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies