Comunicazione tra siti Web (utilizzando Javascript o ?)
-
09-06-2019 - |
Domanda
Ecco il mio problema: vorrei comunicare tra due siti Web e sto cercando una soluzione pulita.La soluzione attuale utilizza Javascript ma esistono soluzioni alternative sgradevoli a causa delle (comprensibili) restrizioni di scripting tra siti.
Al momento, sito web A apre una finestra modale contenente sito webB usare un jQuery plug-in chiamato jqModale. Sito webB fa del lavoro e restituisce alcuni risultati a sito web A.Per restituire tali informazioni dobbiamo aggirare le restrizioni di cross-site scripting - sito webB crea un iframe che fa riferimento a una pagina su sito web A e include *identificatori di frammenti" contenenti le informazioni da restituire.L'iframe viene sottoposto a polling sito web A per rilevare le informazioni restituite.È un tecnica comune ma è complicato.
Ci sono variazioni come CrossSite e potrei forse usare un POST HTTP da sito webB A sito web A ma sto cercando di evitare gli aggiornamenti della pagina.
Qualcuno ha delle alternative?
MODIFICARE:Vorrei evitare di dover salvare lo stato su sito webB.
Soluzione
Il mio miglior suggerimento sarebbe quello di creare un servizio web su ciascun sito che l'altro possa chiamare con le informazioni che devono essere trasmesse.Se la sicurezza è necessaria, è facile aggiungere uno schema di autenticazione simile a SSL (o anche un vero e proprio SSL, se lo desideri) a questo sistema per garantire che solo i due server siano in grado di comunicare con i rispettivi servizi web.
Ciò ti consentirebbe di evitare l'hackiness inerente a qualsiasi schema che prevede l'apertura di finestre da parte di un sito sull'altro.
Altri suggerimenti
Con jQuery più recente della 1.2 puoi utilizzare JSONP
@jmein: hai descritto come creare un popup modale (che è esattamente ciò che fa jqModal), tuttavia ti sei perso che il contenuto della finestra modale viene servito da un altro dominio.I due domini coinvolti appartengono a due società separate, quindi non possono essere combinati nel modo da te descritto.
credo che @pat si riferisse a questo
"A partire da jQuery 1.2, puoi caricare dati JSON posizionati su un altro dominio se specifichi un callback JSONP, "http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback