AJAX response probleem
hier is mijn code die ik gebruik. kan misschien iemand hier is even naar kijken?
javascript + html
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
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
<?php
<script language="javascript">
var xmlHttp;
try { xmlHttp=new XMLHttpRequest(); } catch (e) {
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
alert("Your browser does not support AJAX!");
}}}
function klik(id){
xmlHttp.onreadystatechange=status_wissel;
xmlHttp.open("GET","index.php?naam=12",true);
xmlHttp.send(null);
}
function status_wissel(){
if(xmlHttp.readyState==4){
alert(xmlHttp.repsonseText);
var dataAlsString = xmlHttp.repsonseText;
var dataAlsArray = new Array();
dataAlsArray = dataAlsString.split('||');
alert('Test:'+dataAlsArray[1])
}
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<div onclick="klik(12)">
div om te klikken
</div>
</html>
</body>
</html>
?>
<script language="javascript">
var xmlHttp;
try { xmlHttp=new XMLHttpRequest(); } catch (e) {
try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
alert("Your browser does not support AJAX!");
}}}
function klik(id){
xmlHttp.onreadystatechange=status_wissel;
xmlHttp.open("GET","index.php?naam=12",true);
xmlHttp.send(null);
}
function status_wissel(){
if(xmlHttp.readyState==4){
alert(xmlHttp.repsonseText);
var dataAlsString = xmlHttp.repsonseText;
var dataAlsArray = new Array();
dataAlsArray = dataAlsString.split('||');
alert('Test:'+dataAlsArray[1])
}
}
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
</head>
<body>
<div onclick="klik(12)">
div om te klikken
</div>
</html>
</body>
</html>
?>
PHP code
var dataAlsString = xmlHttp.repsonseText;
Typfoutjes.
maar nu zit ik nog steeds met het probleem dat hij heel mijn pagina in de eerste alert zet. is dit normaal?
Ja. Met een AJAX request haal je een hele pagina op. Alles wat wordt weergegeven op die pagina (output) wordt als responseText teruggegeven in de AJAX request. Dat is dus wat je terugkrijgt.
heb nu in mijn php dit gedaan:
Code (php)
is dit ok code, of is exit maar een beetje noodoplossing? zo voelt dit toch een beetje bij mij.
elias ik zou als jou was me wat verder verdiepen in het schrijven van http requesten (ajax) je kan er nog veel meer mee dan alleen pagina's opvragen en je kan er echt mooie dingen mee maken vooral in combinatie met php.
heb je misschien ergens enkele voorbeelden van wat je zoal bedoeld met mooie dingen?
maar nu zit ik ook nog altijd met de vraag of de code: exit; in php wel goed is?
Gewijzigd op 01/01/1970 01:00:00 door elias
edit: Voor flashy ajax dingetjes, kijk eens op http://ajaxrain.com. Het flashy gedeelte wordt trouwens altijd gedaan door Javascript die CSS eigenschappen aanpast. Ajax maakt het slechts mogelijk dat je data ophaalt zonder dat de gebruiker dit hoeft te merken.
Gewijzigd op 01/01/1970 01:00:00 door Jelmer -
Weet iemand hier nog een site voor, waar tutorials enzo voor mootools opstaan?
Voorbeeldje:
Code (php)
is overzichtelijker dan:
@Jelmer: dit zit er inderdaad wel fijn uit. denk dat ik dat is even ga bekijken.
@erwin: Mootools heb ik al wel veel van tegengekomen. nog niet nagekeken. wat doet dit juist of wat is dit?
sommige sites zijn daardoor heel langzaam. Want de pagina wordt pas geparsed wanneer alle javascript-bestanden zijn binnengetrokken (omdat Javascript document.write kan gebruiken om de HTML in de pagina te veranderen) en allemaal achter elkaar zijn uitgevoerd (want het script in bestand 2 zou wel eens afhankelijk kunnen zijn van de functies gedefinieerd in bestand 1) Met andere woorden: Mootools e.d. inladen omdat je een formveldje bij het laden van de pagina een focus wilt geven is niet echt slim. En of je nu Mootools of Prototype of jQuery moet gebruiken, is heel persoonlijk. Ze doen allemaal wat ze moeten doen, je moet gewoon even uitvinden welke aanpak jij het prettigste vindt.
Mootools is net als Prototype.js en jQuery en Dojo en Mochikit en al die andere bibliotheken een, euh, bibliotheek. Het bevat een heleboel handige functies die standaard niet in Javascript zitten, en een heleboel functies die functies die wel in Javascript zitten maar niet in alle browsers goed werken vervangen. Heel handig wanneer je veel Javascript in je site gebruikt, maar het komt met de prijs van extra downloadtijd. Meestal niet zo'n probleem, maar toch bedankt
elias schreef op 09.05.2008 09:39:
cool, en bedankt voor de bondige uitleg. ik denk niet dat ik een van deze tools nu nodig zal hebben. ik moet inderdaad alleen maar wat formulieren valideren en één formulier dynamisch samenstellen. denk dus niet dat het nodig zal zijn.
toch bedankt
toch bedankt
Bekijk anders ook LiveValidation
heeft er trouwens iemand nog een idee hoe ik een soort poppup met informatie kan tonen. iets in de trand van Lightbox http://particletree.com/features/lightbox-gone-wild/ (hoe maakt ik hier trouwens zo'n link?). alleen dat lightbox niet goed werkt in nieuwe firefox ofzoiets.
ik weet niet of ik hier een nieuwe topic kan over starten aangezien het javascript is.