2010-11-05 13 views
8

C'è un modo per fare una richiesta Ajax perAjax richieste cross-sub-dominio?

s3-ap-southeast-1.s3.amazonaws.com (a S3 API)

da

s3.amazonaws.com

(da dove è stata installata un'app JavaScript ospitata su)?

risposta

1

Le richieste di ajax di domini incrociati sono vietate dal protocollo. E sì, anche i sottodomini.

Leggi qui: http://www.ajax-cross-domain.com/ Potrebbe essere d'aiuto;

3

Non è possibile eseguire richieste ajax tra domini. Questo include i sottodomini. Tuttavia, è possibile utilizzare JSONP.

+2

JSONP funziona solo con le richieste GET –

0

immagino ho trovato il link che @Patrick aveva postato ed era diventato rotto

http://hoppeweb.blogspot.com/2008/03/cross-sub-domain-javascript-ajax-iframe.html

per evitare accadendo di nuovo mi limiterò a provare a re-post-it)

L'idea è impostare un iframe html su un dominio e quindi chiamare iframe dalla pagina sull'altro sottodominio. Sia la pagina padre che l'iframe al suo interno dovrebbero avere lo stesso document.domain.

document.domain = "example.com" 

una volta terminato, quelle due pagine si comportano come se si trovassero nello stesso dominio.

il resto, basta copiare e-incollato ((

Ad esempio, per la trazione nel testo, impostare il pagina su www.yourdomain.com e impostare document.domain per yourdomain.com. Se stai provando a inserire una pagina html usando Ajax da img.yourdomain.com, imposta una pagina che, diventerà l'iframe, per fare il tiro ajax. Dopo che pull è completo, imposta document.domain a tuodominio.com. In la tua pagina su www.crea un iframe con src impostato sulla tua pagina su img. Poiché document.domain è impostato, tutte le funzioni nella pagina principale sono disponibili per essere richiamate tramite l'iframe. Diciamo che vuoi mettere il tuo nuovo html "ajaxed" in un div sulla pagina madre, puoi fare tramite "parent.getElementById ('yourDivName'). InnerHTML = Response.Text".

Se si inserisce XML, è possibile impostare la relazione pagina/iframe come sopra. L'iframe effettuerà la chiamata ajax all'XML su img.yourdomain.com e farà qualcosa con esso, diciamo trasformarlo in un array . Una volta completato, imposta document.domain sulla pagina iframe . A questo punto, la pagina padre può accedere a quell'array sul suo iframe tramite "iframeName.arrayName". In alternativa è possibile avere un array letto nella pagina padre per queste informazioni e passarlo al genitore dall'iframe tramite "parent.arrayName = iframeArray".

in origine da @ Tom Hoppe

Problemi correlati