Moderator |
|
Okay, laat ik in eigen woorden zetten wat ik begrijp:
Je hebt op je eigen (lokale?) netwerk een voorziening die je in staat stelt om, door middel van het aanroepen van specifieke URL's, onder andere data van sensoren uit te lezen en actoren (? dat was de term volgens mij, oftewel (licht)schakelaars) te bedienen. Het formaat waarin je sensor-informatie ontvangt is JSON.
Op een website (ook op hetzelfde lokale netwerk? of op internet?) heb je een overzichtspagina gemaakt waarop sensor-informatie wordt getoond en je door middel van hyperlinks de actoren kunt bedienen.
Je wilt het volgende bereiken: na het klikken op een actor-link wil je op de status-pagina blijven. Waarschijnlijk wil je daarbij ook een status-update hebben (deze geeft aan of het veranderen van een status is geslaagd, mogelijk krijg je hier ook JSON-informatie van terug als je een switch-on of switch-off URL aanroept?).
Je vraag is: hoe krijg ik dit voor elkaar.
Klopt dit een beetje? Het was voor mij nogal moeilijk om van je verhaal in eerste instantie een lopend verhaal te maken. Dan zijn de volgende zaken onduidelijk:
netwerk
Hoe is een en ander gesitueerd? Bevinden het "aanspreekpunt van de homewizard" en de webserver met het bovenstaande PHP-script zich op hetzelfde netwerk? Of bevindt het aanspreekpunt zich op een lokaal netwerk, en de webserver zich op het internet? Zoja, hoe verloopt de communicatie tussen die twee? Want normaal gesproken verloopt er geen (echte) communicatie tussen die twee? Tenzij je allerhande port-mappings hebt in je router of wat dan ook?
security
Ook vermoed ik dat er niet zoveel / geen beveiliging is aangebracht in je script, maar als je aanspreekpunt zich op een lokaal netwerk bevindt, kunnen wij daar normaliter niet bij vanaf internet. Tenzij je dus op een of andere manier toegang tot je lokale netwerk toestaat? Ik zou in ieder geval een beveiliging inbouwen in je script, dit hoeft helemaal niet moeilijk te zijn.
EDIT: over security gesproken, hanteerde jQuery niet de "same origin" policy, mogelijk kun je helemaal niet cross-server jQuery vraagstukken stellen (in ieder geval niet zonder speciale voorzieningen?)? Hmm...
interface van de homewizard
Je roept een URL aan en je krijgt JSON terug, je roept andere URL's aan en er gebeuren dingen. Ik kan wel een en ander afleiden uit je codefragment, maar hoe je omspringt (om zou moeten springen) met je homewizard weet ik verder niet, ik ken de URL's en commando's verder niet. Dat beperkt mij een beetje in het formuleren van een oplossing...
---
Is het bovenstaande script volledig, ik bedoel, bouw je hier een complete webpagina mee op? Dit is niet echt een valide HTML-document. Als je een JavaScript / jQuery / AJAX applicatie wilt gaan bouwen dan zou ik toch echt overwegen om een en ander op een nette - en eigenlijk de enige goede - manier aan te pakken: maak hier om te beginnen eens een fatsoenlijk - en compleet - HTML document van. Zet vervolgens wat eerste stappen in jQuery en probeer het een en ander uit. Als JavaScript nog geheimen voor je bevat dan heb je volgens mij wat "hoofdstukken overgeslagen" als je al in PHP bezig bent.
Mijn voorstel: begin bij het begin. Als je een aantal dingen hebt geprobeerd en vastloopt kun je daar hier vragen over stellen. Ik denk dat jQuery mogelijkheden kan bieden voor hetgeen je probeert te bereiken, maar ik voel er weinig voor om het voor je (uit) te schrijven. Daar is de rubriek samenwerken voor. |