JSON-RPC
JSON-RPC este un protocol RPC construit pe JSON, ca un înlocuitor pentru XML-RPC sau SOAP. Este un protocol simplu care definește doar câteva tipuri de date și comenzi. JSON-RPC permite unui sistem să trimită notificări (informații la server care nu au nevoie de un răspuns) și mai multe apeluri la serverul la care se poate răspunde fără a respecta ordinea. Exemplu de cerere JSON-RPC 2.0 și răspuns folosind parametrii de poziție.
--> {"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
<-- {"jsonrpc": "2.0", "result": 19, "id": 1}
Ajax
JSON este adesea folosit în tehnici de Ajax. Ajax este un termen pentru capacitatea unei pagini web de a solicita noi date după ce a încărcat în browser-ul web, de obicei, ca răspuns la acțiunile utilizatorului pe pagina web afișată. Ca parte a modelului Ajax, noile date sunt de obicei încorporate în ecranul interfeței cu utilizatorul dinamic în momentul în care ajung înapoi de la server. De exemplu, atunci când utilizatorul tastează într-o casetă de căutare, codul pe parte de client trimite ceea ce tastați la un server care va răspunde cu o posibilă listă de elemente din baza sa de date. Acestea ar putea fi afișate într-o listă verticală de sub caseta de căutare. Utilizatorul poate opri apoi tastarea și selectează șirul direct relevant. Când a fost implementat inițial în mijlocul anilor 2000, Ajax utiliza în mod obișnuit XML ca format de schimb de date. Acum, mulți dezvoltatori folosesc JSON pentru a trece actualizările Ajax între server și client.
Următorul cod JavaScript este doar un exemplu de un client folosind XMLHttpRequest pentru a solicita date în format JSON de la un server. (Programarea pe parte de server este omisă, acesta trebuie să fie configurată pentru cereri de servicii la URL-ul conținând un șir formatat JSON.)
var my_JSON_object;
var http_request = new XMLHttpRequest();
http_request.open("GET", url, true);
http_request.onreadystatechange = function () {
var done = 4, ok = 200;
if (http_request.readyState === done && http_request.status === ok) {
my_JSON_object = JSON.parse(http_request.responseText);
}
};
http_request.send(null);
Lasă un răspuns