AJAX probleem
javascript code
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
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
// 0. createRequest
// -----------------
function createRequest()
{
// Variabelen declareren
var request;
if ( window.XMLHttpRequest )
{
// code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
}
else
{
// code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
}
// Variabelen returnen
return request;
}
// 0. AjaxRequest
// ---------------
function AjaxRequest( naam, element )
{
var naam = naam;
naam = new createRequest();
var element = element;
naam.onreadystatechange = function()
{
if ( naam.readyState == 4 && naam.status == 200 )
{
document.getElementById( element ).innerHTML = naam.responseText;
}
}
}
// -----------------
function createRequest()
{
// Variabelen declareren
var request;
if ( window.XMLHttpRequest )
{
// code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
}
else
{
// code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
}
// Variabelen returnen
return request;
}
// 0. AjaxRequest
// ---------------
function AjaxRequest( naam, element )
{
var naam = naam;
naam = new createRequest();
var element = element;
naam.onreadystatechange = function()
{
if ( naam.readyState == 4 && naam.status == 200 )
{
document.getElementById( element ).innerHTML = naam.responseText;
}
}
}
En dan roep ik de ajax zo op:
javascript code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 2. albumsFavorietToevoegen
// ---------------------------
function albumFavorietToevoegen( albumID, gebruikersID )
{
// Variabelen declareren
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest( 'albumStatistieken', 'albumStatistieken');
// Favoriet updaten
albumStatistieken.open("GET","Ajax/albumFavorietToevoegen.php?id=" + albumID +"&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
// ---------------------------
function albumFavorietToevoegen( albumID, gebruikersID )
{
// Variabelen declareren
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest( 'albumStatistieken', 'albumStatistieken');
// Favoriet updaten
albumStatistieken.open("GET","Ajax/albumFavorietToevoegen.php?id=" + albumID +"&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
Ik heb al even zitten zoeken maar ik vind de fout niet.
EDIT: dit geeft hij als fout: Uncaught ReferenceError: albumStatistieken is not defined
Kobe
Code tussen code tags geplaatst[/modedit]
Gewijzigd op 09/06/2010 15:01:20 door Chris -
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
if ( window.XMLHttpRequest )
{
// code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
}
else
{
// code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
{
// code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
}
else
{
// code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
zoiezo al niet meer te doen. Kan het daarbij ook niet fout gaan.
Ik schrijf liever mijn code zelf -> meer zelfvoldoening.
Misschien omdat het heel veel voldoening geeft ;)
Waarom gebruik je PHP? iedereen gebruikt het al. Zelf een programmeertaal schijven waarmee je hetzelfde kunt als met PHP geeft vast meer zelfvoldoening?
Bedankt.
http://javascript.crockford.com/
Verder, je definieert de variabele "albumStatistieken" nergens. Dat zegt de foutmelding, en het klopt ook.
Je code is echt een zooi, leer JavaScript: Verder, je definieert de variabele "albumStatistieken" nergens. Dat zegt de foutmelding, en het klopt ook.
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
// 0. createRequest
// -----------------
function createRequest() { // Variabelen declareren
var request;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
} else { // code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
} // Variabelen returnen
return request;
} // 0. AjaxRequest
// ---------------
function AjaxRequest(naam, element) {
var naam = naam;
naam = new createRequest();
var element = element;
naam.onreadystatechange = function () {
if (naam.readyState == 4 && naam.status == 200) {
document.getElementById(element).innerHTML = naam.responseText;
}
}
}
En dan roep ik de ajax zo op: javascript code // 2. albumsFavorietToevoegen
// ---------------------------
function albumFavorietToevoegen(albumID, gebruikersID) { // Variabelen declareren
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest('albumStatistieken', 'albumStatistieken'); // Favoriet updaten
albumStatistieken.open("GET", "Ajax/albumFavorietToevoegen.php?id=" + albumID + "&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
// -----------------
function createRequest() { // Variabelen declareren
var request;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
request = new XMLHttpRequest();
} else { // code for IE6, IE5
request = new ActiveXObject("Microsoft.XMLHTTP");
} // Variabelen returnen
return request;
} // 0. AjaxRequest
// ---------------
function AjaxRequest(naam, element) {
var naam = naam;
naam = new createRequest();
var element = element;
naam.onreadystatechange = function () {
if (naam.readyState == 4 && naam.status == 200) {
document.getElementById(element).innerHTML = naam.responseText;
}
}
}
En dan roep ik de ajax zo op: javascript code // 2. albumsFavorietToevoegen
// ---------------------------
function albumFavorietToevoegen(albumID, gebruikersID) { // Variabelen declareren
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest('albumStatistieken', 'albumStatistieken'); // Favoriet updaten
albumStatistieken.open("GET", "Ajax/albumFavorietToevoegen.php?id=" + albumID + "&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
Huh??
Je doet hier niet met naam, en redeclareert naam terwijl deze al binnen de scope van de functie zit.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
function albumFavorietToevoegen(albumID, gebruikersID) { // Variabelen declareren
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest('albumStatistieken', 'albumStatistieken'); // Favoriet updaten
albumStatistieken.open("GET", "Ajax/albumFavorietToevoegen.php?id=" + albumID + "&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
var albumID = albumID;
var gebruikersID = gebruikersID;
AjaxRequest('albumStatistieken', 'albumStatistieken'); // Favoriet updaten
albumStatistieken.open("GET", "Ajax/albumFavorietToevoegen.php?id=" + albumID + "&gebruiker=" + gebruikersID, true);
albumStatistieken.send();
}
Wat een zooi.. albumStatistieken wordt nergens gedefinieerd.
albumID en gebruikersID hoeven niet met var te worden gedeclareerd.
Ik denk dat je voor AjaxRequest nog var 'albumStatistieken=' wilt toevoegen (zonder ').
En de functie AjaxRequest even aanpassen:
Gebruik gewoon jQuery, dan kan je dit in 3 regels doen...
Ik moet toegeven dat ik ook snel naar jQuery grijp, maar vaak zou dat niet nodig hoeven zijn.
Peter datwiljewelwetenhe op 09/06/2010 10:44:45:
Klein detail nog, het is gewoon 'var req = createRequest();', zonder new, aangezien je niet een instantie van createRequest wilt maken, maar van XMLHttpRequest (of dat activex ding) en dat doet die functie al voor je. :)