Artikelen » Javascript/Ajax » Artikel
Standaard AJAX Request
07-03-2009 17:08
Offline Stuur privëbericht
Ex-Eigenaar CP
Berichten: 116

Origineel gepost door: dragontje124

ajax is een techniek waarbij data geladen wordt op een pagina zonder dat de pagina daarvoor opnieuw geladen moet worden. dit kan handig zijn bij bijvoorbeeld een chatbox of gewoon omdat je dat handiger vind.
dit is een standaard ajax request

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var xmlHttp

    
function ajax(page,value1,value2,div)
    {
    
xmlHttp=GetXmlHttpObject()
    if (
xmlHttp==null)
      {
      
alert ("Browser does not support HTTP Request")
      return
      } 
    var 
url=page
    url
=url+"?voorbeeldget1="+value1
    url
=url+"&voorbeeldget2="+value2
    xmlHttp
.onreadystatechange=function() {stateChanged(div);}
    
xmlHttp.open("GET",url,true)
    
xmlHttp.send(null)
    } 

    function 
stateChanged(div
    { 
    if (
xmlHttp.readyState==|| xmlHttp.readyState=="complete")
     { 
     
document.getElementById(div).innerHTML=xmlHttp.responseText 
     

    }function 
GetXmlHttpObject()
    {
    var 
xmlHttp=null;
    try
     {
     
// Firefox, Opera 8.0+, Safari
     
xmlHttp=new XMLHttpRequest();
     }
    catch (
e)
     {
     
// Internet Explorer
     
try
      {
      
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
     catch (
e)
      {
      
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
     }
    return 
xmlHttp;
    }


dit script gebruik je zo:

Code | Selecteer Alles
minimaliseren
1
<a href="#" onclick="ajax('pagina.php','waarde1','waarde2','content')">open pagina.php</a>

waar pagina.php de pagina is die je wilt laden, waarde1 en waarde2 de $_GET[] variabelen zijn die je meestuurd en content het id van het divje is waar je de pagina in geladen wilt hebben

wil je meer variabelen meesturen voeg dan
onder
[code=php]
url=url+&quot;?voorbeeldget1=&quot;+value1
url=url+&quot;?voorbeeldget2=&quot;+value2[/code]

dit toe:
[code=php]
url=url+&quot;?bericht=&quot;+value3
[/code]
(hier gebruik je dus als extra $_GET: $_GET['bericht'])

en verander
[code=php]function ajax(page,value1,value2,div) [/code]

in

Code | Selecteer Alles
minimaliseren
1
function ajax(page,value1,value2,value3,div)

en
Code | Selecteer Alles
minimaliseren
1
<a href="#" onclick="ajax('pagina.php','waarde1','waarde2','content')">open pagina.php</a>

wordt

Code | Selecteer Alles
minimaliseren
1
<a href="#" onclick="ajax('pagina.php','waarde1','waarde2','waarde3','content')">open pagina.php</a>



wil je ipv get post gebruiken verander dan

Code | Selecteer Alles
minimaliseren
1
2
xmlHttp.open("GET",url,true)
xmlHttp.send(null)

in
[code=php]xmlHttp.open('POST', url, true);
xmlHttp.setRequestHeader(&quot;Content-type&quot;, &quot;application/x-www-form-urlencoded&quot;
xmlHttp.setRequestHeader(&quot;Content-length&quot;, url.length);
xmlHttp.setRequestHeader(&quot;Connection&quot;, &quot;close&quot;
xmlHttp.send(url);
[/code]
ik hoop dat jullie het een beetje begrijpen
Er werd nog geen reactie geplaatst.