Ajax meerdere waardes
Beste programmeurs,
Ik begin een beetje met ajax dus ben ik de ajax tutorial op de w3 site gaan doen. Nou wil ik ipv 1 waarde twee waardes meenemen naar een php pagina wat moet ik in de onderstaande code veranderen?
Ik begin een beetje met ajax dus ben ik de ajax tutorial op de w3 site gaan doen. Nou wil ik ipv 1 waarde twee waardes meenemen naar een php pagina wat moet ik in de onderstaande code veranderen?
Code (php)
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
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
<?php
include "connect.php";
<html>
<head>
<title>Leerling(en) zoeken</title>
<script src="selectuser.js"></script>
</head>
<body>
<center>
<h3>Formulier om een leerling(en) te zoeken.</h3>
</center>
<hr>
<form>
<table border=0><tr>
<td>Zoeken op:</td><td> <select name="ll_zoeken" >
<option value="Inschrijvingsnummer">Inschrijvingsnummer</option>
<option value="Achternaam">Achternaam</option>
<option value="Geslacht">Geslacht</option>
<option value="Groepsnaam">Groep</option>
</select></td></tr>
<tr><td>Tekst:</td><td><input type="Text" name="ll_text" onkeyup="showHint(this.value)" size="50" maxlength="50"></td></tr>
</table>
<p>
<div id="txtHint"><b>User info will be listed here.</b></div>
</p>
</form>
</body>
<html>
?>
include "connect.php";
<html>
<head>
<title>Leerling(en) zoeken</title>
<script src="selectuser.js"></script>
</head>
<body>
<center>
<h3>Formulier om een leerling(en) te zoeken.</h3>
</center>
<hr>
<form>
<table border=0><tr>
<td>Zoeken op:</td><td> <select name="ll_zoeken" >
<option value="Inschrijvingsnummer">Inschrijvingsnummer</option>
<option value="Achternaam">Achternaam</option>
<option value="Geslacht">Geslacht</option>
<option value="Groepsnaam">Groep</option>
</select></td></tr>
<tr><td>Tekst:</td><td><input type="Text" name="ll_text" onkeyup="showHint(this.value)" size="50" maxlength="50"></td></tr>
</table>
<p>
<div id="txtHint"><b>User info will be listed here.</b></div>
</p>
</form>
</body>
<html>
?>
Gewijzigd op 01/01/1970 01:00:00 door Abdel phper
Je kan meerdere values door php laten returen en deze bijvoorbeeld scheiden door ||. In jouw geval laat je php de string Jan||Klaassen||Havo||3 terugsturen waarna je met javascript dit kan exploden op ||
Nou zal var[1] Jan bevatten
var[2] klaassen enzovoort.
Dit ter voorbeeld geloof niet dat de syntax klopt
Nou zal var[1] Jan bevatten
var[2] klaassen enzovoort.
Dit ter voorbeeld geloof niet dat de syntax klopt
het probleem met javascript is hoe haal je dat er hieronder dan uit?
Code (php)
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
47
48
49
50
51
52
53
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
47
48
49
50
51
52
53
var xmlHttp;
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="getuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").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;
}
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="getuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").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;
}
Als je meerdere gegevens wil versturen is het aangeraden om ze in JSON formaat te sturen.
XML kan ook, maar dat brengt meer (onnodige) traffic met zich mee.
XML kan ook, maar dat brengt meer (onnodige) traffic met zich mee.
Onduidelijk is wat je nu wilt, bij je ajax request meerdere waardes meegeven, zoja GET op POST ? Of een return met meerdere waardes, wijrbij JSON natuurlijk de manier is. Je creert een php, die een array met json_encode json valid output genereerd. Deze string kan je met eval in je JS terug zetten naar array.




