AJAX code werkt niet
Hallo iedereen,
ik heb op AJAX te leren een tutorial gevolgd, deze.
Nu ik heb dan het voorbeeld proberen toepassen, maar bij mij worden er geen resultaten gevonden.
Code:
search.php
test.php
<table width="100%">
<tr>
<td valign="top" width="301">
<input type="text" size="50" name="zoek" onkeyup="sendRequestSearch(this.value);" />
</td>
<td valign="top">
<div id="zoek_resultaten" style="border:1px solid #000000"></div>
</td>
</tr>
</table>
<script>
function createRequestObject() {
if(window.XMLHttpRequest){
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('Problem creating the XMLHttpRequest object');
}
}
</script>
<script>
function sendRequestSearch(iets) {
http.open('get', 'search.php?zoek='+iets);
http.onreadystatechange = handleResponseSearch;
http.send(null);
}
</script>
<script>
function handleResponseSearch() {
if(http.readyState == 4 && http.status == 200){
if(http.responseText) {
document.getElementById("zoek_resultaten").innerHTML = http.responseText;
} else {
document.getElementById("zoek_resultaten").innerHTML = " ";
}
} else {
document.getElementById("zoek_resultaten").innerHTML = " ";
}
}
</script>
Wie ziet de fout?
Groeten,
Olivier
ik heb op AJAX te leren een tutorial gevolgd, deze.
Nu ik heb dan het voorbeeld proberen toepassen, maar bij mij worden er geen resultaten gevonden.
Code:
search.php
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$gegevens = array(
'test', 'test2', 'foo', 'bar', 't'
, 'help', 'hello', 'dit is fijn', 'ford',
'etc', 'enzovoort', '...', 'en zo zijn er veel woorden',
'dit is een lange tekst', 'lalalala', 'tralala', 'PHP',
'OOP', 'JavaScript', 'AJAX power!', 'w00t',
'ik ben koen', 'koen', 'speelmeijer', 'is',
'de', 'naam', 'Koen Speelmeijer is de naam', 'enzovoort'
, 'hehe');
if(isset($_GET['zoek']) && $_GET['zoek'] != "") {
foreach($gegevens as $v) {
if(strstr($v, $_GET['zoek'])) {
echo '<a href="http://www.sitemasters.be/tutorials/27/1/433/AJAX/AJAX_XMLHttpRequest_object_en_live_search#">'. $v .'</a><br />';
}
}
}
?>
$gegevens = array(
'test', 'test2', 'foo', 'bar', 't'
, 'help', 'hello', 'dit is fijn', 'ford',
'etc', 'enzovoort', '...', 'en zo zijn er veel woorden',
'dit is een lange tekst', 'lalalala', 'tralala', 'PHP',
'OOP', 'JavaScript', 'AJAX power!', 'w00t',
'ik ben koen', 'koen', 'speelmeijer', 'is',
'de', 'naam', 'Koen Speelmeijer is de naam', 'enzovoort'
, 'hehe');
if(isset($_GET['zoek']) && $_GET['zoek'] != "") {
foreach($gegevens as $v) {
if(strstr($v, $_GET['zoek'])) {
echo '<a href="http://www.sitemasters.be/tutorials/27/1/433/AJAX/AJAX_XMLHttpRequest_object_en_live_search#">'. $v .'</a><br />';
}
}
}
?>
test.php
<table width="100%">
<tr>
<td valign="top" width="301">
<input type="text" size="50" name="zoek" onkeyup="sendRequestSearch(this.value);" />
</td>
<td valign="top">
<div id="zoek_resultaten" style="border:1px solid #000000"></div>
</td>
</tr>
</table>
<script>
function createRequestObject() {
if(window.XMLHttpRequest){
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
} else {
alert('Problem creating the XMLHttpRequest object');
}
}
</script>
<script>
function sendRequestSearch(iets) {
http.open('get', 'search.php?zoek='+iets);
http.onreadystatechange = handleResponseSearch;
http.send(null);
}
</script>
<script>
function handleResponseSearch() {
if(http.readyState == 4 && http.status == 200){
if(http.responseText) {
document.getElementById("zoek_resultaten").innerHTML = http.responseText;
} else {
document.getElementById("zoek_resultaten").innerHTML = " ";
}
} else {
document.getElementById("zoek_resultaten").innerHTML = " ";
}
}
</script>
Wie ziet de fout?
Groeten,
Olivier
...of je gebruikt jQuery.
Is idt moderner/beter dan AJAX? Of is AJAX toch voldoende? Wat zijn de verschillen?
Jquery is een framework op javascript, waaronder AJAX. Dat maakt de boel een stuk makkelijker.
Conclusie hegene je met AJAX kunt, kan je met JQuery? Dan ga ik maar eens JQeury studeren ;-)
Groeten,
Olivier
Groeten,
Olivier
Ajax kan ook met javascript, maar jQuery is gewoon makkelijker.
Hallo allen,
JQuery gezocht en livesearch gevonden & werkend gekregen! Nu kennis verder bijschaven ;-)
En deze toepassen op een MySQL database! Ik hou jullie op de hoogte!
Groeten,
Olivier
JQuery gezocht en livesearch gevonden & werkend gekregen! Nu kennis verder bijschaven ;-)
En deze toepassen op een MySQL database! Ik hou jullie op de hoogte!
Groeten,
Olivier
Leuk om naar jQuery over te stappen, maar het daadwerkelijke probleem oplossen had natuurlijk ook gekund.
Als JQuery makkelijker en moderner is, dan jeb ik daar geen probleem mee. Indien je echter meer voordelen ziet in AJAX, dan mag je dit ook laten weten ;-)
Beiden is AJAX, jQuery is een op JS leunend framework om HTML-elemeneten makkelijker aan te kunnen sturen.
Hallo allen,
ik probeer nu een tablesorter uit, om mijn gegevens te sorteren. VOlgende tekst gevolgt: http://tablesorter.com/docs/
Volgende code maar ze werkt niet. Wat doe ik fout?
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript" src="./tablesorter/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTable").tablesorter();
}
);
$(document).ready(function()
{
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} );
}
);
</script>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>[email protected]</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
Groeten,
Olivier
ik probeer nu een tablesorter uit, om mijn gegevens te sorteren. VOlgende tekst gevolgt: http://tablesorter.com/docs/
Volgende code maar ze werkt niet. Wat doe ik fout?
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript" src="./tablesorter/jquery.tablesorter.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#myTable").tablesorter();
}
);
$(document).ready(function()
{
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} );
}
);
</script>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>[email protected]</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
Groeten,
Olivier
Voor het grootste deel werkt dat. Het is wel niet de bedoeling dat je twee keer $(document).ready(function() ... doet.
Doe zo eens:
Doe zo eens:
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
54
55
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
54
55
<html>
<head>
</head>
<body>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>[email protected]</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://tablesorter.com/__jquery.tablesorter.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} );
});
</script>
</body>
</html>
<head>
</head>
<body>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>[email protected]</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>[email protected]</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://tablesorter.com/__jquery.tablesorter.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#myTable").tablesorter( {sortList: [[0,0], [1,0]]} );
});
</script>
</body>
</html>
Gewijzigd op 25/06/2012 09:56:15 door Kris Peeters
Hallo,
ikzelf had de fout net zelf ook al gevonden. Bedankt voor de opmerking alvast!
Nu ik zit ik met een andere vraag. Is het mogelijk om via JQuery of AJAX de data uit een database te filteren. Ik heb bijvoorbeeld twee categorieën: Geslacht & Training.
Ik zou hier graag filters op maken (Man/Vrouw & BEN/PUP/MIN). Afhankelijk van welke filter er geselecteerd is zou de SELECT van de MySQLdatabase aangepast meoten worden. Enig idee of dit mogelijk is?
Groeten,
Olivier
ikzelf had de fout net zelf ook al gevonden. Bedankt voor de opmerking alvast!
Nu ik zit ik met een andere vraag. Is het mogelijk om via JQuery of AJAX de data uit een database te filteren. Ik heb bijvoorbeeld twee categorieën: Geslacht & Training.
Ik zou hier graag filters op maken (Man/Vrouw & BEN/PUP/MIN). Afhankelijk van welke filter er geselecteerd is zou de SELECT van de MySQLdatabase aangepast meoten worden. Enig idee of dit mogelijk is?
Groeten,
Olivier
Data meegeven aan je request, die met PHP oppakken en op die manier de SQL aanpassen.
Kijk ook eens hier: jQuery post
Kijk ook eens hier: jQuery post
Bedankt!
Gewijzigd op 26/06/2012 16:07:35 door Olivier Peeters




