data van de Jquery.get() functie in een variabele plaatsen

Status
Niet open voor verdere reacties.

Fractal

Nieuwe gebruiker
Lid geworden
20 feb 2013
Berichten
3
Hallo,

Ik heb al gezocht en aan een oplossing zitten denken maar ik begrijp me er nog steeds niet zo goed uit, vandaar dat ik het hier even vraag.

Ik moet met javascript visualisaties maken van parameters uit een PLC (Programmable Logic Controller) zodat wanneer mijn html pagina op de controller geplaatst wordt, men er naartoe kan surfen en de status van digitale en analoge in/uitgangen kan bekijken. Hier heb ik een functie (die niet werkt) die met behulp van een SSI commando de waarde van een bepaald adres in de PLC gaat opvragen.

[JS]
function readData(adres){
var url = getUrl();
var value;
$.get(url + '/READPI?ADR=' + adres + '&FORMAT=%d', function(data){value = data;});
return value;
}
[/JS]

Het SSI commando stuur ik met behulp met van een functie van Jquery, namelijk $.get(). De controller antwoord hierop met een bepaalde decimale waarde en ik weet dat deze waarde in de variabele 'data' terecht komt, maar de variabele 'data bestaat enkel in de scope van de callback functie. Ik zou graag deze variabele overal in mijn script willen kunnen gebruiken door bijvoorbeeld er voor te zorgen dat de functie 'readData', de variabele 'data' of de waarde in 'data' als return parameter heeft.

het enige dat me niet lijkt te lukken is de data returnen op een bepaalde manier, verder is er niets mis met de functie getUrl() en het SSI commando, ik wil gewoon de variabele data die enkel beschikbaar is in de callback functie, beschikbaar maken buiten deze functie.

Hopelijk heb ik mezelf een beetje goed kunnen uitleggen en weet er iemand misschien een oplossing.

grtz stijn
 
Bedankt voor de hulp en voor die links, het is me gelukt aan de hand van dit voorbeeld:
[JS]
function getURL(url){
return $.ajax({
type: "GET",
url: url,
cache: false,
async: false
}).responseText;
}


//example use
var msg=getURL("message.php");
alert(msg);


[/JS]

bedankt voor de hulp, ik wist dat er een probleem was met dat asynchroon gedoe maar had geen idee dat het mogelijk was om dat af te zetten in de ajax functie, enorm bedankt!

Grtz
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan