Domanda

Vorrei fare una chiamata ajax ad un altro server (stesso dominio e casella, un'altra porta.) ad es.

La mia pagina

http://localhost/index.html

Vorrei fare un ajax richiesta get a:

http://localhost:7076/?word=foo

Ricevo questo errore:

Access to restricted URI denied (NS_ERROR_DOM_BAD_URI) 

So che non si può fare una richiesta ajax a un dominio diverso, ma sembra anche porte diverse?esistono soluzioni alternative?

È stato utile?

Soluzione

Hanno una certa pagina sulla porta 80 del server proxy richieste per l'altra porta.Per esempio:

http://localhost/proxy?port=7076&url=%2f%3fword%3dfoo

Nota la codifica url, l'ultima stringa di query il valore dell'argomento.

Altri suggerimenti

Si potrebbe utilizzare JSONP.Questo è dove si specifica un callback con la richiesta, la risposta da parte tua richiesta ajax viene avvolto con il nome della funzione callback.Piuttosto che utilizzando XmlHttpRequest si inserisce un tag nel documento HTML con l'URL.Poi, quando la risposta viene recuperato la funzione di callback viene chiamata, passando i dati come parametro.

Controllare questo post del blog per un esempio

Si tratta di un browser restrizione.Tutte le chiamate javascript deve essere lo stesso server e la porta di casa di script.Questo richiederà qualcosa lato server per ottenere intorno.I. E.il processo a localhost inoltrare la richiesta a localhost:7076.

Fa schifo, ma è necessario...Fondamentalmente ciò che si sta andando ad avere bisogno di fare è di proxy tua richiesta AJAX attraverso un proxy locale - alcuni server side script / page / qualsiasi cosa sullo stesso dominio che si sta su di ricevere la chiamata e avanti alle altre risorse lato server.Ci potrebbe essere qualche IFRAME trucchi si potrebbe fare, ma non penso che funzionano molto bene...potrebbe essere il problema, però, è stato un po'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top