2011-08-19 68 views

risposta

4

Ajax riposare per Asynchronous JavaScript and Xml/XhttpRequet (X dipende e cambiato da quando la maggior parte JSON è usato oggi.

E 'un modo per eseguire una richiesta dalla pagina utilizzando JavaScript per il server e ricevere qualche risposta. Questa risposta può essere qualsiasi cosa, json, xml, text, html, ecc ...

Questo rende le pagine molto reattive senza dover ricaricare la pagina completa per eseguire le azioni su di esso. Ad esempio, postare questa risposta alle tue domande. :-)

Json è un formato dati che indica la notazione dell'oggetto JavaScrip. È un formato di serializzazione più leggero di xml e ha il vantaggio di essere JavaScript.

JsonP è il prossimo e logico passaggio all'utilizzo di Ajax con Json.

Un server risponderà con JSONP avvolgendo l'oggetto Json in una funzione di callback. Il nome della funzione viene passato dal client al server, solitamente come parametro nella querystring. La P sta per riempimento, poiché il server circonda l'oggetto json con il nome della funzione e l'oggetto come argomento.

callback({"name":"my name"}); 

Vedere: http://en.wikipedia.org/wiki/JSONP per una spiegazione più dettagliata.

+0

Mi è piaciuta la parte "Per esempio pubblica questa risposta alle tue domande ...". :) di nuovo a voi! –

47
  • Ajax - "Javascript asincrono e XML". Ajax definisce genericamente un insieme di tecnologie per contribuire a rendere le applicazioni Web più ricche di esperienza utente. L'aggiornamento e l'aggiornamento dei dati dello schermo avviene in modo asincrono utilizzando javascript e xml (o json o semplicemente un normale post http).

  • JSON - "Notazione oggetto JavaScript". JSON è come xml in quanto può essere usato per descrivere oggetti, ma è più compatto e ha il vantaggio di essere javascript effettivo. Un oggetto espresso in JSON può essere convertito in un oggetto reale da manipolare in codice javascript.

  • Per impostazione predefinita, le richieste Ajax devono essere eseguite nello stesso dominio della pagina da cui proviene la richiesta. JSONP - "JSON con padding" - è stato creato per consentire di richiedere risorse JSON da un dominio diverso. (CORS è un'alternativa migliore e migliore a JSONP.)

  • REST - "Trasferimento dello stato di rappresentanza". Le applicazioni che utilizzano i principi REST hanno una struttura Url e uno schema di richiesta/risposta che ruotano attorno all'uso delle risorse. In un modello puro, i verbi HTTP Get, Post, Put e Delete vengono utilizzati rispettivamente per recuperare, creare, aggiornare ed eliminare risorse. PUT e DELETE sono spesso non utilizzati, lasciando GET e POST per mappare per selezionare (GET) e creare, aggiornare e cancellare (POST)

16

Ajax, o più propriamente, AJAX, acronimo di Asynchronous JavaScript and XML. Tecnicamente si riferisce a qualsiasi richiesta asincrona effettuata dal browser (qualsiasi cosa che utilizza uno XmlHttpRequest) per conto di alcuni script in esecuzione nella pagina corrente, indipendentemente da quale tipo di contenuto viene restituito. Può anche essere usato per descrivere un certo modello di costruzione di una pagina/sito in cui la maggior parte/tutto il contenuto viene recuperato/aggiornato dinamicamente sulla pagina. Quando viene utilizzato per descrivere un formato di dati, "ajax" in genere significa "xml".

JSON è un formato di codifica dei dati. Il nome stesso è un acronimo di "JavaScript Object Notation". i dati in formato JSON assomiglia:

{"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}} 

dati JSON possono essere prelevati da una richiesta AJAX, anche se è abbastanza comunemente usata in altri contesti come un peso leggero, estensibile e facile da analizzare formato di scambio dei dati.

JSONP è semplicemente dati in formato JSON racchiusi in una funzione di callback. La "P" sta per "with Padding", che è una specie di stupido a meno che non ti piaccia pensare alle chiamate di funzione come "padding". In ogni caso, i dati JSONP sarà simile:

someFunction({"key": "value1", "key2": {"number": 1, "array": [0, 1, 2]}}); 

Come tale, JSONP è in realtà solo un frammento JavaScript, e diversamente da JSON non viene utilizzato al di fuori del contesto di JavaScript, browser (o altri client JavaScript-capable) e richieste AJAX. Il motivo dell'utilizzo di JSONP è che consente di sovvertire il numero same-origin policy. Uno script che è stato originato dal sito X non può effettuare una richiesta diretta al sito Y se il sito Y si trova su un dominio diverso dal sito X. Ma se il server del sito Y può inviare risposte in formato JSONP, lo script dal sito X può aggiungere un nuovo tag <script> al documento che fa riferimento a un URL sul sito Y, e quando viene caricata la risposta dal sito Y invocherà alcune funzioni di callback che lo script X ha definito nel documento, dando così accesso allo script X ai dati caricati dinamicamente da sito Y.

Si noti che i dati JSONP non vengono richiesti (in genere) utilizzando XmlHttpRequest. Può essere fatto in questo modo, in base agli avvertimenti standard della politica della stessa origine, ma poi si perde la magia tra domini che rende JSONP utile in primo luogo.

REST è semplicemente la specifica/descrizione formale di come HTTP effettivamente funziona/è destinato a essere utilizzato. Se comprendi il concetto di un URL utilizzato per richiedere una risorsa corrispondente da un server e la differenza tra Get e Post, allora sai davvero tutto ciò di cui hai bisogno su REST.