2012-01-11 15 views
5

JSONP è classfied come AJAX?IS JSONP classificato come AJAX?

Sono confuso come ho capito che il XHR è necessario per essere utilizzato per la comunicazione asincrona ma quando guardo il codice jQuery per JSONP è "avvolto in un AJAX chiamo

jQuery AJAX

se JSONP non è classificato come AJAX, quindi perché jQuery lo ha impacchettato come una funzione AJAX o mi manca qualcosa qui?

risposta

7

Se direste rigorosamente che AJAX significa "comunicazione asincrona tra JavaScript e un server utilizzando il formato XML", quindi solo alcune tecniche chiamate "Ajax" oggi risponderebbe a tale definizione, poiché anche molte "Richieste XML-HTTP" non trasportano dati XML.

Quindi la tecnica JSONP è solo uno dei metodi di comunicazione asincroni noti e jQuery ha voluto raggrupparli tutti in un'unica funzione, denominata con il termine più comune "ajax".

Tuttavia, il termine "ajax" è strettamente collegato all'interfaccia XMLHTTPRequest, che è limitata dalla stessa politica di origine. Anche se questo non si applica a JSONP, che utilizza gli elementi <script>, JSONP è limitato alle richieste GET e necessita di un'infrastruttura serveride speciale.

+0

grazie per la risposta, rende le cose più chiare generalmente sono soluzioni JSONP considerati come una soluzione JSONP o soluzioni AJAX-JSONP su una nota simile, se un XHR ritorna HTML, quindi a rigor di termini non è XHR, corretta ? –