Avatar billede mik28 Seniormester
14. april 2008 - 09:15 Der er 2 kommentarer og
1 løsning

Stadig problemer med AJAX

Hej Eksperter,

Jeg har stadig mærkelige problemer med ajax. Har en funktion som gør følgende

oHttp.onreadystatechange =  function(){ myCallBack1(oHttp) };

function myCallBack1(oHttp) {
   
    if (oHttp.readyState<4) return;
      document.getElementById("ETDIVSOMSKALVISES").style.display="inline";     
    oHttp = null;
}

Det virker fint i IE men ikke i firefox.
Avatar billede mik28 Seniormester
14. april 2008 - 09:19 #1
Det hele ser således ud

function minFunk(var1,var2)
{
var oHttp = new XMLHttpRequest();
oHttp.open("post", "/DERHVORFILENLIGGER/NAVN.jsp", true);
oHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
oHttp.onreadystatechange =  function(){ myCallBack1(oHttp) };
oHttp.send("VAR1="+var1+"&VAR2="+var2);
}
Avatar billede w13 Novice
14. april 2008 - 09:33 #2
Kan vi se et link?
Avatar billede montago Praktikant
16. april 2008 - 18:05 #3
Hvad med at lave scriptet CrossBrowser kompatibelt :D

her er en crossbrowser AJAX function, kaldes sådan her:

ExecuteRequest("POST","?","abc=123")

man kan bruge EncodeURIComponent() til at encode postbody
så kan du jo kalde en funktion inde i readystate funktionen...

//---------------

function ExecuteRequest(action, url, postbody)
{
    var xmlhttp = false
   
    try {     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {    xmlhttp = false; } }
   
    if (!xmlhttp && typeof(XMLHttpRequest) != 'undefined') {
        try {             xmlhttp = new XMLHttpRequest();
        } catch (e) {    xmlhttp = false;    }
    }
    if (!xmlhttp && window.createRequest) {
        try {            xmlhttp = window.createRequest();
        } catch (e) {    xmlhttp = false;    }
    }
   
    if ( xmlhttp )
    {
        xmlhttp.onreadystatechange = function()
        {
            if (xmlhttp.readyState==4){
                if (xmlhttp.status==200){
                    byid("feedback").innerHTML = xmlhttp.responseText
                }else{
                    alert("Error: " + xmlhttp.status + "\n\nURL: "+URL)
                }
            }
        }
        try{
            xmlhttp.open(action, url, false);
            xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
            xmlhttp.send( postbody );
        }catch(e){
            alert("xmlhttp error: \n"+e.message);
        }
    }else{
        alert("Your browser does not support XMLHTTP.")
    }
}
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