Ajax Class

Door Martijn Wieringa, 16 jaar geleden, 3.065x bekeken

Een class om gebruik te maken van AJAX.
Dit voorbeeld laad url, en geeft het resultaat terug in het scherm.

Merk op dat om beveiligheidsreden je alleen url's mag laden op hetzelfde domein als waar het script draait.

Todo:
Een scriptje dat het resultaat automatisch parsed naar een 2d array om de gegevens nóg makklijker te kunnen verwerken?!

Gesponsorde koppelingen

PHP script bestanden

  1. ajax-class

 

Er zijn 14 reacties op 'Ajax class'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Elwin - Fratsloos
Elwin - Fratsloos
16 jaar geleden
 
0 +1 -0 -1
Met responseText is het niet helemaal AJAX, omdat je geen XML terug geeft vanaf de server. Daarvoor gebruik je responseXML. Niettemin kan je met responseText ook leuke dingen maken.

Elwin
- -
- -
16 jaar geleden
 
0 +1 -0 -1
ff <? en ?>
voorbeeld is handig
Martijn Wieringa
Martijn Wieringa
16 jaar geleden
 
0 +1 -0 -1
Het gaat hier niet om PHP code.. ;) duus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php .. ?>
is niet van toepassing lijkt me
K i p
K i p
16 jaar geleden
 
0 +1 -0 -1
Als je <? en ?> doet krijgt de js mooie kleurtjes ;-) :-)
Hipska BE
Hipska BE
16 jaar geleden
 
0 +1 -0 -1
een voorbeeldje ?

en Boris, <? en ?> hoeft er niet bij daar het geen php/xml is he ;-)
Jelmer -
Jelmer -
16 jaar geleden
 
0 +1 -0 -1
Maar het is wel leuk voor de kleurtjes ^^,

En je maakt nu gebruik van een object (oAjax) in de global scope en daar vertrouw je op. Zou het niet handiger zijn om de callbackfunctie een verwijzing naar het huidige oAjax object mee te geven, en die te gebruiken voor de controles? Want als je nu 2 aanvragen tegelijkertijd zou doen gaat het mis. Hetzelfde geldt overigens ook voor oHttpRequest. Daar zou je het makkelijk kunnen oplossen door er "this." voor te zetten.

(PS: wel grappig, die o voor oAjax. In Javascript is zo goed als alles een object, een beetje a la Ojb-C of Java. Volgens mij zijn alleen TRUE, FALSE en NULL geen objecten.)
Legolas
Legolas
16 jaar geleden
 
0 +1 -0 -1
een null-pointer heeft uiteindelijk ook met objecten te maken ej :P
Pim Vernooij
Pim Vernooij
16 jaar geleden
 
0 +1 -0 -1
Het is leuk dat er weer eens iets m.b.t. xmlhttp op phphulp komt te staan. Ik denk alleen dat iedereen de 'basis' nu wel kent. Het requesten is vrij makkelijk.
Wat nu denk ik veel interessanter is, is doormiddel van een PHP interface je xmlhttp requests af te handelen.

@jelmer: alles in JS zijn objecten, maar door deze hongaarse notatie kan je bijvoorbeeld wel onderscheiden of je temaken hebt met een string object (sVar), een array object (aVar) of een instantie van een class (oVar). Nodes blijven dan nog over: nVar ? :-P
Rudie dirkx
rudie dirkx
16 jaar geleden
 
0 +1 -0 -1
Prototype 1.4.0
geweldige libs. Ook voor Ajax.

Request, Updater, Timer, Responder.
Supermakkelijk en bijna compleet :)
Heb maar een heel klein beetje aangepast en kan steeds vooruit met deze lib.

Het gedetailleerde spul moet je natuurlijk zelf doen (je responseX printen, bewerken, etc), maar ophalen en functies en handlers enzo eraanhangen is supermakkelijk (handlers en funcs wel zelf maken dus :D).

Site heeft paar cooel voorbeeldjes
Jelmer -
Jelmer -
16 jaar geleden
 
0 +1 -0 -1
Het mooiste van de Prototype lib vind ik nog altijd de enumerable functies en de meest door mij gebruikte zijn wel Class.create() en .bind() of .bindAsEventListener(), en natuurlijk Event.observe().

Misschien is het een idee om met deze klasse gebruik te maken van prototyping (je weet wel: object/functienaam.prototype = object) om zo te voorkomen dat je iedere keer dat je het object instantiëert je weer al die functies definieert en toewijst aan een interne variabele. Voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var className = function(iets)
{
   .. dit is de contructor
}

className.prototype = {
   methodName: function(parameter) {
      .. een method, hier kan je ook this gebruiken, die dan weer verwijst naar je instantie
   },
  
   anotherMehod: function() {

   }
}

var test = new className('iets');
test.anotherMethod();
Rudie dirkx
rudie dirkx
16 jaar geleden
 
0 +1 -0 -1
werkt prototypen al beetje in IE? Heel veel last mee gehad half jaartje ofzo geleden... Lag misschien aan mij :)
Jelmer -
Jelmer -
16 jaar geleden
 
0 +1 -0 -1
denk het wel, want qua syntax heb ik nooit problemen gehad met het verschil tussen JScript en Javascript.
Pim Vernooij
Pim Vernooij
15 jaar geleden
 
0 +1 -0 -1
Prototyping werkt perfect in IE :)
De laatste tijd ben ik redelijk veel met prototyping bezig geweest; ik gebruik echter een andere syntax dan die van Jelmer hierboven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
function ClassNaam() {
    //dit is de constuctor
    this.value = 'blabla';
}
ClassNaam.prototype.getValue = function() {
    return alert( this.value );
};

var obj = new ClassNaam();
ClassNaam.getValue();

en nog een andere manier is deze: (ik denk dat deze een soort van 'Singleton' implementatie voor JS is)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
var Class = {
    value: 'bladiebla',
    getValue: function () {
        return alert( this.value );
    }
}
Class.getValue();
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Lode
Lode
13 jaar geleden
 
0 +1 -0 -1
{} is meer een soort super static class implementatie volgens mij.
JSON stijl.

Javascript is een ECMA en dus prototype based OOP taal inmiddels.
Eigenlijk al veel ingewikkelder als het php OOP model.

Een function is een object. Late static bindings, lambda, closures zijn stadaard issue in js. En komen pas in php5.3 aan bod eigenlijk. Laat staan tot het het in php geperfectioneerd/uitgevogeld is allemaal. En dan is php dus geen prototype scripting taal, dus weer iets anders.

Je kan op vele manieren objecten aanmaken in js.
Beetje afhankelijk ook van wat het object moet kunnen en diens rechten.
Het is bijvoorbeeld al wat ingewikkelder om een beetje overzichtelijk static, procedural of public, protected, private dingen aan te maken.
Maar kan wel allemaal uiteindelijk.

Er zijn vele wegen naar Rome iig in js.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. ajax-class

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.