Ich habe Website, die XMLHttpRequest (jQuery, eigentlich) verwenden. Ich habe auch eine andere Seite, die auf dem gleichen Server läuft, der eine Skriptdatei bedient, die XHR-Anfragen zurück zu DIESER Seite macht, dh.Kann ich XMLHttpRequest an einem anderen Port als eine von diesem Port geladene Skriptdatei verwenden?
http://mysite:50000/index.html umfasst
<script src="http://mysite:9000/otherscript.js"></script>
und http://mysite:9000/otherscript.js umfasst
$.ajax({
url: 'http://mysite:9000/ajax/stuff'
});
Das Problem ist - das funktioniert nicht. Die AJAX-Anfragen aus dem geladenen Skript scheitern einfach ohne Fehlermeldung. Nach dem, was ich gefunden habe, ist dies die alte selbe Herkunftspolitik. In Anbetracht dessen, dass ich beide Websites kontrolliere, kann ich irgendetwas dafür tun, dass dies funktioniert? Der Trick "document.domain" scheint nichts für XMLHttpRequest zu tun.
Was ist der "Titel Manipulation" Trick? – EMP
Wenn Sie JavaScript signiert haben, können Sie dies auf FF tun. – bmargulies
Siehe http://dannythorpe.com/2008/07/28/cross-domain-transport-with-windowname/ und http://orensol.com/2009/06/07/cross-domain-ajax-calls-and -iframe-communication-how-to/für Beispiele. Es gibt jQuery und Dojo Addons, die dieses Zeug schön verpacken. – nitzmahone