Algemene Ajax Functie?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET C# web developer gezocht met focus op gebruik

Ben je op zoek naar een baan binnen een klein softwarebedrijf? Een bedrijf met een informele, persoonlijke en familiaire sfeer? Waar je je als developer zowel richt op de back- als frontend? Wellicht dat deze vacature dan iets voor jou is. Voor een softwarebedrijf, gevestigd in het centrum van Rotterdam, zijn we momenteel op zoek naar .NET C# web developer. Dit mag iemand zijn die net van school komt, maar ook iemand die al behoorlijk wat ervaring heeft. Het bedrijf bestaat inmiddels ruim 10 jaar en en door de aanhoudende groei zijn ze opzoek naar versterking van 1 a 2

Bekijk vacature »

Business Intelligence developer

Jij ben niet bang om hard te werken. Uitdagingen zijn welkom. En problemen? Die zijn er om opgelost te worden of, nog beter, om voorkomen te worden! Voor jij aan de slag gaat met het ontwerpen van BI- en DWH-oplossingen, leg je eerst je oor te luister bij de klant. Zo weet jij wat de klant wil, en hoe jouw ontwerp eruit moet komen te zien. Simpel! Althans… met jouw Developer-kwaliteiten wel! Over deze BI vacature Als Business Intelligence Developer ga je zowel op locatie bij de klant aan de slag, als op een van de Sogeti-locaties. Je analyseert de

Bekijk vacature »

Technical Support Specialist

We groeien verder in Europa, en zoeken een Technische Support Specialist die gek is op zowel mensen als tech, om onze klanten en gebruikers te helpen. Functieomschrijving Als Technical Support Specialist ben je verantwoordelijk voor de onboarding en het gebruik van onze producten door klanten en gebruikers. Je zorgt er bijvoorbeeld voor dat de scholen die een AV1 robot hebben, en de senioren die KOMP gebruiken, tevreden zijn en zich ondersteund voelen. De positie houdt ook in dat je ervoor zorgt dat de verbinding en de achterliggende systemen soepel werken. Je bent in contact met onze klanten en gebruikers via

Bekijk vacature »

PHP met minimaal 6 maanden ervaring! incl. Framewo

Functieomschrijving Ter uitbreiding is mijn klant op zoek naar een PHP ontwikkelaar die betrokken wordt bij de bouw van innovatieve software, voor zowel grote alsmede kleine klanten. Je komt te werken binnen een team van enthousiaste collega's waarmee je samen aan gave projecten gaat werken. De sfeer is hier informeel en open, net als de source! Ze werken hier met verschillende frameworks binnen PHP. Hiebij kun je denken aan; Zend , Symfony, YII, Laravel of Codelgniter. Daarnaast zoeken ze iemand die ook graag met systeembeheer aan de slag gaat. Dit zullen ze je bij deze organisatie gewoon aanleren. Het is

Bekijk vacature »

C# developer binnen prettig en professioneel Agile

Functieomschrijving Je komt te werken binnen een Agile Scrum team bestaande uit 10 personen; een product owner, een scrum master, meerdere ervaren developers en software testers. Samen gaan jullie aan de slag met het optimaliseren van bestaande applicaties en het bouwen van nieuwe. Dit betreffen C# ASP.NET applicaties (MVC, Web API, XML). Hierbij houd je sterk rekening met zaken als betrouwbaarheid en veiligheid. Het is een hecht team dat graag met elkaar spart en kennis deelt. Het is dan ook fijn wanneer je communicatief vaardig bent en het niet schroomt om met verbetervoorstellen te komen en hiermee aan de slag

Bekijk vacature »

Android developer

Do you want to participate in "pair programming"? Functieomschrijving Our client is looking to add 2 software engineers to their expanding team. The client has built one of the most popular platforms in the Netherlands. The platform is known by everyone in the country as the place to trade and pick up a bargain. We are now extending the platform and apps. The platform handles over 1 million visitors and 350.000 new advertisements. But they want to go even further - they are constantly changing their platform to improve the experience for their users. Your responsibilities will include: Build an

Bekijk vacature »

Senior .NET Developer

Ben jij een Senior .NET Developer en op zoek naar een nieuwe uitdaging binnen een productie omgeving? Lees dan snel verder! Functieomschrijving Als Senior .NET Developer neem je het voortouw in de ontwikkeling van een nieuw platform voor meerdere fabrieken. Je zal nauw samenwerken met diverse afdelingen en een adviserende rol innemen. Als Senior .NET Developer ben je het schakelpunt tussen je IT collega’s, key users, eindgebruikers en leveranciers. Jouw pro-actieve benadering en passie zorgen ervoor dat storingen worden voorkomen. Functie-eisen Afgeronde HBO opleiding in de richting Informatica, Computer Science, Technische Bedrijfskunde of vergelijkbaar 5+ jaar ervaring met het ontwikkelen

Bekijk vacature »

Medior Software Engineer

Over de functie Als Software Engineer ben je met jouw scrumteam van A tot Z betrokken bij het (door)ontwikkelen van de software. Naast het ontwikkelen en testen van de software geef je ook passend advies aan onze klanten. Je maakt daarbij gebruik van de nieuwste technieken waaronder o.a. Azure, Angular,.Net core, MS-SQL server en de elastic search stack. Om je kennis up-to-date te houden verdiep je je regelmatig in nieuwe ontwikkelingen omtrent je vakgebied en probeer je deze effectief te vertalen naar mogelijkheden voor ons bedrijf. Jij als medior bent gedreven om dagelijks de mooiste ontwikkelingen te realiseren en neemt

Bekijk vacature »

Oracle Middleware Developer

Wat je gaat doen: Wij zijn op zoek naar een Oracle Middleware Developer met kennis van/ervaring met onder andere SOA Suite 10G en/of SOA Suite 11G, WebLogic, BPEL Orchestration, Java, SOAP. Je bent bekend met de integratie laag gebaseerd op Oracle SOA Suite 10G. Als Middleware developer ben je verantwoordelijk voor de ontwikkeling van integratie tussen de diverse applicaties in het landschap, en de communicatie tussen de klant en andere stakeholders. Je werkt samen met het applicatie team, zoals functioneel ontwerpers en andere ontwikkelaars om de oplossing verder te ontwikkelen en te implementeren. Je collega’s werken onder andere met technieken

Bekijk vacature »

Software Engineer C++ / Software Developer C++

Organisatie- en afdelingsomschrijving For our business client, a fast dynamic technical company which gathers and processes huge amounts of data, we are looking for several Software Engineers. You will be part of a team consisting of about 25 software developers working on a suit of advanced software tools. These software tools are then used further on in the company in the creation of customers. Functieomschrijving As Linux is the operating system which is used by our business client, experience with Linux is mandatory. As a software engineer you will develop software that is used to convert digital image data to

Bekijk vacature »

Fluitend naar je werk als PHP-er: hier kan het!

Functieomschrijving Je zal als webdeveloper ingezet worden aan de backend en frontend. De verhouding weegt hierbij wel in het voordeel van de backend. Het directe team waarin je werkt bestaat uit 5 andere ontwikkelaars waarmee je aan verschillende projecten werkt. Afhankelijk van het project wordt bepaald of het hele team erop wordt gezet of dat je zelfstandig aan de slag gaat. Ook leuk: als de mogelijkheid er is zal er binnen een project ruimte zijn om nieuwe technieken uit te proberen, dit zal je horizon verbreden! Gezocht wordt naar een open persoon die ook goed kan communiceren. Dit omdat de

Bekijk vacature »

Full Stack Developer bij een bekend Nederlands bed

Functieomschrijving Ben jij een Full Stack Developer, heb jij ervaring met HTML, JavaScript en CSS én ligt jouw focus op front-end development? Dan is dit zeker de uitdaging voor jou! Jij zoekt oplossingen die ervoor zorgen dat de geleverde producten nog beter worden. ​​​​​​Jouw focus ligt als Full Stack Developer op de front-end omdat je dit net iets leuker vindt. Je hebt genoeg ervaring met HTML, Javascript én CSS en bent klaar voor een nieuwe uitdaging! Solliciteer jij bij iSense en krijg jij vervolgens deze baan? Dan krijg jij toegang tot het iSense Learning Center en kan je deelnemen aan

Bekijk vacature »

Senior Java Developer (32 tot 40 uur per week)

Onze opdrachtgever is het Instituut Fysieke Veiligheid (IFV). Het IFV draagt bij aan een veilige samenleving door het versterken van de veiligheidsregio’s en hun partners bij het professionaliseren van hun taken. De afdeling Informatiesystemen ontwikkelt en beheert meerdere applicaties die in de dagelijkse praktijk worden gebruikt bij crisis- en rampenbestrijding. Met behulp van deze applicaties zijn hulpdiensten, zoals de brandweer en politie, beter in staat om samen informatie te delen en samen acties af te stemmen in het geval van grootschalige incidenten. Namens het IFV zijn wij verantwoordelijk voor de werving- en selectie voor de vacature van Senior Java Developer

Bekijk vacature »

Xamarin Developer

Jij weet dat apps het leven gemakkelijker maken en draagt daar graag aan bij. Sterker nog: jij wilt apps ontwikkelen die het verschil maken zonder daarbij in te leveren op veiligheid of gebruiksvriendelijkheid. Xamarin Development expert Als Xamarin Developer bij Sogeti ga je apps ontwerpen, uitwerken en realiseren, waarmee je jouw klanten – de top van het Nederlandse bedrijfsleven – vooruit helpt. Is het enkel Xamarin dat de klok slaat? Natuurlijk niet, jouw ambitie en leergierigheid maken dat je ook thuis bent in andere omgevingen. Bovendien breid je je kennis en ervaring graag uit, zodat je je ontwikkelt tot topprofessional!

Bekijk vacature »

Java Developer / lease-auto / projecten / salaris

Vind je het leuk om je te verdiepen in technische integratie-vraagstukken die veel uitzoekwerk vergen en waarbij je met nieuwe technieken werkt? Wil je graag bij een organisatie werken waar je geen nummer bent en die goede arbeidsvoorwaarden heeft? Functieomschrijving Vind je het leuk om je te verdiepen in technische integratie-vraagstukken die veel uitzoekwerk vergen en waarbij je met nieuwe technieken werkt? Wil je graag bij een organisatie werken waar je geen nummer bent en die goede arbeidsvoorwaarden heeft? Reageer dan nu! Het koppelen van systemen met elkaar voor data verrijking waar vervolgens business-apps en dashboards op worden gebouwd middels

Bekijk vacature »
Inter Kode

Inter Kode

27/11/2015 15:46:40
Quote Anchor link
Hallo allemaal,

Het is een tijd geleden dat ik hier ben geweest en ik hoop dat jullie mijn kunnen helpen met de volgende vraag.
Mijn site gebruikt the jquery lib en ik maak vaak gebruik van ajax post's :
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
$.ajax({
  url      : 'files/ajax.php',
  type     : 'post',
  dataType : 'json',
  data     : {
    var1 : 'val1',
    var2 : 'val2',
    var3 : 'val3'
  },
  success: function (response) {
    // Do stuff
  },
  error: function (response) {
    // Do stuff
  }
});


Nu neemt dit veel ruimte in beslag omdat ik dit soort methods zeker wel over 200 keer gebruik.
Mijn vraag is wat de beste method is om een functie te maken voor dit soort acties ?

Voorbeeld :
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
18
19
function post(url, parameters) {
  $.ajax({
    url      : url,
    type     : 'post',
    dataType : 'json',
    data     : parameters,
    success: function (response) {
      return response;
    },
    error: function (response) {
      return response;
    }
  });
}

var data = { 'var1' : 'val1', 'var2' : 'val2', 'var3' : 'val3' };
if (post('files/ajax.php', data) == 'response') {
  // do stuff
}

Alvast bedankt!
Gewijzigd op 27/11/2015 15:48:02 door Inter Kode
 
PHP hulp

PHP hulp

22/02/2019 14:37:10
 
Thomas van den Heuvel

Thomas van den Heuvel

27/11/2015 16:35:11
Quote Anchor link
Ik denk dat dat op de hierboven voorstelde manier niet gaat werken. Een AJAX call is namelijk asynchroon als ik mij niet vergis (dit betekent kort door de bocht "wacht niet op antwoord"), daarom kun je in je callback geen waarde retourneren tenzij je op een of andere manier forceert dat er op het antwoord wordt gewacht, maar dat blokkeert dan je hele applicatie (wat je waarschijnlijk niet wilt). Als je het bovenstaande wilt laten werken zal je hele code "stack" asynchroon moeten zijn denk ik.

Wat je wel zou kunnen doen is je functionaliteit wat dynamischer maken zodat url en data instelbaar zijn (en niet hardcoded is) zodat je het als een "functie" (een herbruikbare eenheid code) kunt gebruiken, ik denk dat dit laatste jouw doel is, in plaats van die hele lap code elke keer opnieuw uitschrijven met een andere url / andere data? Dit heeft wel tot gevolg dat je de functionaliteit waarbinnen je de AJAX calls wilt gebruiken iets anders vorm zult moeten geven. Dit is een noodzakelijk compromis, want het alternatief is dus alle code asynchroon opzetten (of mogelijk zijn er nog andere manieren) maar dat is dus vrij bewerkelijk.

De eerste stap is het groeperen van functionaliteit in (JavaScript) objecten, hier kun je dan je AJAX calls in opnemen. Vergelijk dit met klassen en methoden in een object georienteerde aanpak.

Maar je zult ons wel een beetje op weg moeten helpen, zou je bijvoorbeeld een voorbeeld kunnen geven van welke dingen je doet met deze AJAX calls, dan kunnen we gaan nadenken hoe we deze in (herbruikbare) objecten kunnen gieten.

Ik heb een tijd terug een soort van autocomplete-functionaliteit gemaakt die gebruik maakt van AJAX calls om resultaten op te halen. Deze is gegoten in een object structuur dus ik kan meerdere objecten van deze "klasse" maken met een minimale hoeveelheid code:
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
<script type="text/javascript">
//<![CDATA[
$().ready(function() {
    var box = new autocompleteBox();
    box.init({
        'inputId':                  'inputtest',
        'boxId':                    'boxtest',
        'ajaxURL':                  '<?php echo $ajaxLink ?>',
        'ajaxQueryStringVariable':  'q' // try "z" (obviously will not return any results)
    });

    var box2 = new autocompleteBox();
    box2.init({'inputId': 'inputtest2', 'boxId': 'boxtest2', 'ajaxURL': '<?php echo $ajaxLink ?>'});
});
//]]>
</script>

Als je wilt kan ik hier (weer) een werkend voorbeeldje van maken, maar op dit moment is deze code een beetje achter geraakt op mijn andere code en is daardoor niet meer compatibel :).
Gewijzigd op 27/11/2015 16:37:49 door Thomas van den Heuvel
 
Peter Louwer

Peter Louwer

27/11/2015 16:40:51
Quote Anchor link
Volgens mij is dit niet mogelijk tenzij je een callback functie gebruikt.
Gewijzigd op 27/11/2015 16:41:14 door Peter Louwer
 
Inter Kode

Inter Kode

27/11/2015 16:41:39
Quote Anchor link
Bedankt voor je reactie, wat bedoel je met een callback?

Voorbeeld van een van mij post functies :

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
18
19
20
21
22
<?php // Jquery

$.ajax({
  url      : 'api/login',
  type     : 'post',
  dataType : 'json',
  data     : {
    email   : email,
    password: password,
    token   : token
  },
  success: function (response) {
    if(response.ret == 'success') {
      location.reload();
    }
else {
      alertMsg('#login_alert', 'danger', response.msg);
      disableBtn('.submit', false);
    }
  }
});


?>
Gewijzigd op 27/11/2015 16:41:54 door Inter Kode
 
Randy vsf

Randy vsf

27/11/2015 16:46:16
Quote Anchor link
Peter Massije op 27/11/2015 16:40:51:
Volgens mij is dit niet mogelijk tenzij je een callback functie gebruikt.


Is de succes function niet een callback function?

Ass je gegevens vanuit een ajax call wilt bewaren, kan je een interval zetten, die kijkt of de variable die je wilt gebruiken de gewenste waarde heeft om de zoveel tijd, zoja, clearInterval en dan ga je verder.
Gewijzigd op 27/11/2015 16:50:42 door Randy vsf
 
Peter Louwer

Peter Louwer

27/11/2015 16:47:41
Quote Anchor link
Niet getest, maar zoiets :
Probleem is dat deze functie altijd postCallback variable gebruikt, ben er nog niet helemaal uit...

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
18
19
20
21
22
23
24
<?php // Jquery

// Universal post function

function post(url, parameters) {
  $.ajax({
    url      : url,
    type     : 'post',
    dataType : 'json',
    data     : parameters,
    success  : postCallback,
    error    : postCallback
  });
}


// Launch function
post('files/ajax.php', 'username=jack&password=dummy');

// Catch the response
var postCallback = function (response) {
  console.log(response);
  // Do something with it
}

?>


Toevoeging op 27/11/2015 17:03:33:

Of je zet async uit :-)

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
18
19
20
21
22
23
24
25
<?php // Jquery

// Universal post function

function post(url, parameters) {
  var
response;
  $.ajax({
    url      : url,
    type     : 'post',
    dataType : 'json',
    async    : false,
    data     : parameters,
    success : function (data) {                            
      response = data;
    },

    error : function (data) {
      response = data;
    }
  });

  return response;
}


// Launch function
console.log(post('files/ajax.php', 'username=jack&password=dummy'));

?>
Gewijzigd op 27/11/2015 17:03:54 door Peter Louwer
 
Inter Kode

Inter Kode

27/11/2015 17:13:45
Quote Anchor link
Thanks, eind resultaat :

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php // JS

// Function

function post(url, data) {
  var
response;
  $.ajax({
    url      : url,
    type     : 'post',
    dataType : 'json',
    async    : false,
    data     : data,
    success : function (data) {                            
      response = data;
    },

    error : function (data) {
      response = data;
    }
  });

  return response;
}


// Build parameters
var data = 'email=' + email + '&password=' + password + '&token=' + token;
// Store function response
var response = post('api/login', data);
// php will return : {"ret":"success","msg":"Successfully logged in."}
// Do stuff

if(response.ret == 'success') {
  location.reload();
}
else {
  alertMsg('#login_alert', 'danger', response.msg);
  disableBtn('.submit', false);
}


?>
 
Thomas van den Heuvel

Thomas van den Heuvel

27/11/2015 17:21:30
Quote Anchor link
Het bovenstaande voorbeeld (een loginfunctionaliteit via AJAX) is geschreven voor een specifiek doel en zal ook op een specifieke manier werken, hier maak je niet meerdere "instanties" van.

Verder kun je deze functionaliteit niet echt hergebruiken omdat je (op dit moment) in de globale scope werkt, het minste wat je zult moeten doen is de naam van de callback-functie instelbaar maken (hierbij zou je de naam kunnen prefixen met 'ajaxSuccessCallback' ofzo).

Het beste wat Inter Kode (op dit moment) kan doen is de variabele delen in zijn code identificeren en deze instelbaar maken via parameters van de universele (wrapper) functie.

EDIT: dit zou ik nog altijd verkiezen boven het uitzetten van async.
Gewijzigd op 27/11/2015 17:23:26 door Thomas van den Heuvel
 
Wouter J

Wouter J

27/11/2015 18:54:31
Quote Anchor link
Ik zou async inderdaad niet uitzetten. De oplossing is gegeven door jQuery zelf doordat `jQuery.ajax()` een jqXHR object retourneerd: http://api.jquery.com/jQuery.ajax/#jqXHR

Code (js)
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
18
function post(url, parameters) {
  return $.ajax({
    url      : url,
    type     : 'post',
    dataType : 'json',
    data     : parameters
  });
}


var data = { 'var1' : 'val1', 'var2' : 'val2', 'var3' : 'val3' };

post('files/ajax.php', data)
    .
done(function () {
        // ... success!
    })
    .
fail(function () {
        // ... error :(
    });


Overigens zie je dat de functie niet zo heel veel doet (eigenlijk alleen het instellen van JSON en POST). Je kan dit praktisch versimpelen door jQuery.post() te gebruiken:
Code (js)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
// ...
jQuery.post('files/ajax.php', data, function () {
    // ... success!
}, 'json');
Gewijzigd op 27/11/2015 18:54:45 door Wouter J
 
Inter Kode

Inter Kode

30/11/2015 09:21:35
Quote Anchor link
Na Wouter J reactie ben ik toch jquery post functie gaan gebruiken.
Bedankt voor de support, zie voorbeeld :

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
<?php // Jquery

var data = 'email=' + email + '&password=' + password + '&token=' + token;
$.post('api/login', data, function (response) {
    if(response.ret == 'success') {
      location.reload();
    }
else {
      alertMsg('#login_alert', 'danger', response.msg);
      disableBtn('.submit', false);
    }
},
'json').fail(function (response) {
    alertMsg('#login_alert', 'danger', 'Something went wrong!');
    disableBtn('.submit', false);
});


?>


Klein vraagje nog, wat voor advies geven jullie om de parameters door te geven?

var data = { 'var1' : 'val1', 'var2' : 'val2', 'var3' : 'val3' };
var data = 'email=' + email + '&password=' + password + '&token=' + token;
Gewijzigd op 30/11/2015 09:23:21 door Inter Kode
 
Randy vsf

Randy vsf

30/11/2015 09:34:41
Quote Anchor link
Ik zou de eerste gebruiken als je POST wil gebruiken.
Met de 2e bouw je een query string.
Dat werkt ook, maar dan kan je net zo goed een get versturen.
Gewijzigd op 30/11/2015 09:39:22 door Randy vsf
 



Overzicht Reageren

 
 

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.