Avatar billede mrkaynex Nybegynder
13. april 2009 - 02:58 Der er 19 kommentarer og
2 løsninger

Lidt hjælp til ajax

Hejsa,

Jeg sidder og roder med til AJAX, og lige umiddelbart gider det ikke virke, så måske har I en idé, til hvad der kan gøres..

Mit problem er, at den ikke gider at onloade mit script i min body del..

den skal onloade "getProducts();", og det gør jeg ved at skrive <body onLoad="getProducts();"> - hvilket ikke virker.

Jeg har så prøvet at sætte onmouseover="getProducts();" til en knap på siden, og dér går scriptet igang...

Så er der nogen der har en idé til, hvorfor den ikke gider at onloade?
Avatar billede mrkaynex Nybegynder
13. april 2009 - 02:59 #1
.. Det skal lige siges, at jeg har scriptet i head'en i en <script language="javascript" type="text/javascript"></script>
Avatar billede CCodam Nybegynder
13. april 2009 - 03:48 #2
Kan du vise os dit script fra toppen og ned til linien med din body onload? :)
Avatar billede mrkaynex Nybegynder
13. april 2009 - 04:02 #3
*** En masse PHP kode ***
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <title>something</title>
    <link rel="icon" href="images/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="templates/<?php echo $template; ?>/style.css" type="text/css" />
    <link rel="stylesheet" href="css/featuredcontentglider.css" type="text/css" />
    <link rel="stylesheet" href="templates/<?php echo $template; ?>/csstextstroke.css" type="text/css" />
    <link rel="stylesheet" href="css/windowfiles/dhtmlwindow.css" type="text/css" />
    <script type="text/javascript" src="javascript/csstextstroke.js"></script>
    <script type="text/javascript" src="javascript/functions.js"></script>
    <!-- <script type="text/javascript" src="javascript/msg.js"></script> -->
    <script type="text/javascript" src="javascript/autoupdate.js"></script>
    <script type="text/javascript" src="javascript/jquery-1.2.2.pack.js"></script>
    <script type="text/javascript" src="javascript/gradualfader.js"></script>
    <script type="text/javascript" src="css/windowfiles/dhtmlwindow.js"></script>
 
    <script language="javascript" type="text/javascript">
        function createRequestObject(){
            var request_o;
            var browser = navigator.appName;
            if(browser == "Microsoft Internet Explorer"){
                request_o = new ActiveXObject("Microsoft.XMLHTTP");
            }else{
                request_o = new XMLHttpRequest();
            }
            return request_o;
        }
       
        var http = createRequestObject();
        function getProducts(){
            http.open('GET', 'member/msg.php');
            http.onreadystatechange = handleProducts;
            http.send(null);
            setTimeout("getProducts()",5000);
        }
       
        function handleProducts(){
            if(http.readyState == 4){ //Finished loading the response
                var response = http.responseText;
                document.getElementById('joke').innerHTML = response;
            }
        }
    </script>

</head>
<?php
if($_GET['page'] == "tagwall"){
    $onload = "blink();show();";
}else{
    $onload = "blink();show();";
}
?>
<body onLocus="getProducts();" style="margin: 0px;">
Avatar billede mrkaynex Nybegynder
13. april 2009 - 04:03 #4
<body onLocus="getProducts();" style="margin: 0px;"> 
skulle så være
<body onLoad="getProducts();" style="margin: 0px;">
Avatar billede RexReptiles Nybegynder
13. april 2009 - 04:27 #5
onload="java script:getProducts();"
Avatar billede RexReptiles Nybegynder
13. april 2009 - 04:28 #6
uden mellemrum i javascript - ved ik lige hvorfor den gjorde det.. :-)
Avatar billede majbom Novice
13. april 2009 - 07:38 #7
onload="getProducts()"

skulle virke - det er i hvert fald ingen grund til at skrive "java script:" foran, da det er en event.
Avatar billede majbom Novice
13. april 2009 - 07:38 #8
hvorfor F***** laver den mellemrum i "javascript"?
Avatar billede RexReptiles Nybegynder
13. april 2009 - 08:13 #9
nej det burde ikk ha noget at sige - men jeg har da prøvet det hvor det var nødvendigt.

men det lyder bare underligt - for jeg syntes det ser fornuftigt ud.
Avatar billede olebole Juniormester
13. april 2009 - 16:12 #10
<ole>

Jo, det er en decideret fejl, at bruge JavaScript pseudo-protokollen i en event-handler. Den giver kun mening i en href attribut på et link - eller i adresselinjen på en browser ... aldrig i en event-handler  ;o)

Derudover kan man ikke bruge tegnsættet 'iso-8859-1' sammen med Ajax. ANSI funktionerne til indkodning af URL'er har længe været deprecated i JavaScript og er erstattet af Unicode funktioner.
Tegnsættet, når man arbejder med Ajax, hedder derfor utf-8.

Property'en innerHTML har desuden intet at gøre i forbindelse med Ajax. Den har aldrig været valid i forhold til nogen standard - og brugen af den den indebærer en masse uhensigtsmæssigheder.

Desuden HTML-formaterer man aldrig, aldrig og aldrig Ajax returdata på serveren. Returdata formateres i JSON eller XML. HTML-formatering æder mange gange felere server resourcer og performer elendigt.

/mvh
</bole>
Avatar billede RexReptiles Nybegynder
13. april 2009 - 19:54 #11
jeg bøjer mig i støvet :-)
Avatar billede mrkaynex Nybegynder
14. april 2009 - 13:55 #12
Hejsa,

First of all, tak for opmærksomheden til tråden her - nu vil jeg så gerne spørge, om én eller flere ville hjælpe med at optimere scriptet, da det ikke lyder som om at være særligt tiptop, og så også fordi at det er viiirkelig langsomt når jeg bruger det på min side (servage server).

Second of all, så ville jeg også kunne lære noget om det =))
Avatar billede olebole Juniormester
14. april 2009 - 14:14 #13
Det kan være alle mulige steder, den fejl ligger. Det er ikke til at gætte udfra det, vi ved  =)
Avatar billede mrkaynex Nybegynder
14. april 2009 - 14:32 #14
Hvis vi nu ser bort fra den fejl i <body>, hvis man skal optimere selve ajax/java scriptet, kan du så hjælpe mig?
Avatar billede olebole Juniormester
14. april 2009 - 14:37 #15
Nej, det er et kæmpe arbejde
Avatar billede mrkaynex Nybegynder
14. april 2009 - 14:58 #16
Nå okay
Avatar billede mrkaynex Nybegynder
15. april 2009 - 15:00 #17
Hvis nogen vil have point, så smid gerne et svar.

Jeg åbner en ny tråd om lidt, som I også gerne må kigge forbi. Omhandler også ajax, men et andet ajaxscript, dog samme problem med body..
Avatar billede olebole Juniormester
16. april 2009 - 00:57 #18
Lad os dele  =)
Avatar billede majbom Novice
16. april 2009 - 08:21 #19
fint for mig :)
Avatar billede mrkaynex Nybegynder
28. juli 2009 - 22:55 #20
Mange tak skal I have
Avatar billede majbom Novice
29. juli 2009 - 08:16 #21
selv tak, tak for point
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