Cross-domain ajax

Anterior, solicitările ajax de tip cross-domain au fost imposibile, cu excepția solicitărilor în jsonp. Astăzi, odată cu apariția tehnologiei CORS, puteți implementa o interogare ajax inter-domeniu, inclusiv suport complet pentru obiectul XMLHttpRequest.







Browserele vă permit să faceți acest lucru utilizând protocolul de partajare a resurselor de origine încrucișată sau CORS

CORS presupune trimiterea obligatorie a antetului de cerere către server.

Serverul ar trebui să returneze următorul răspuns

Browserul va verifica cererea și, dacă va reuși, verificarea va returna obiectul pentru muncă sau va eșua.

CORS acceptă cererile POST și GET. Alte tipuri nu sunt acceptate de toate browserele.

Firefox 3.5+, Safari 4+ și Chrome sprijini alte tipuri de cereri, în timp ce IE 8 nu suportă alte tipuri de solicitări.







Dacă avem nevoie, de exemplu, de o interogare de tip DELETE, trebuie să trimitem o solicitare cu următoarele antete:

Ca răspuns, trimiteți următoarele antete de răspuns:

O "pre-interogare" a serverului vă permite să efectuați solicitări încrucișate ulterioare în timpul perioadei specificate în antetul de răspuns al Access-Control-Max-Age.

Un exemplu practic de ajax

Ca răspuns, serverul trebuie să returneze antetul

Acum este puțin probabil ca majoritatea oamenilor să folosească acest cod standard. Este mai ușor să faceți acest lucru pe jQUuery, deoarece în jQuery 1.5:

Pentru acest exemplu, puteți utiliza următorul cod php:

Toate metodele de utilizare a unui ajax de tip cross-domain:

  • postMessage
  • JSONP
  • CORS
  • document.domain methods
  • window.name Transport
  • Proxy server-side
  • CRAZY IFRAME STUFF
  • bliț

Împreună cu acest articol citiți mai des următoarele:







Articole similare

Trimiteți-le prietenilor: