Sie CANNOT einen Cross-Domain-Antrag stellen (GET/POST/etc.) mit einem XMLHttpRequest (auch bekannt als AJAX).
Wenn Sie vom Server unterstützt werden, können Sie eine JSONP-Anfrage stellen. Ein JSONP Anfrage funktioniert wie folgt:
- jQuery erstellt eine global zugängliche Funktion aus der Callback-Funktion, die Sie als Argument liefern
- Statt XMLHttpRequest (AJAX) für die Verwendung der HTTP-Anforderung zu machen, fügt jQuery dynamisch ein Skript Tag in das DOM
- das SRC des Script-Tag die Anforderungs-URL ist, an die Sie
- jQuery fügt einen Rückruf param auf die Query-String wie so versuchen zu kommunizieren: example.com/someurl.js?callback=someDynamicallyGeneratedMethodName
- Es ist dann oben an den Server JavaScript zurückzukehren, die Ihr Client, indem man das JSON Ergebnis als Argument
someDynamicallyGeneratedMethodName Wenn Sie keine Kontrolle über den Server haben können, dass Sie eine Mitteilung verfassen, dann hat man kein Glück, JSONP tu dir sehr gut. Was auch immer der Server zurückgibt, ist in einem SCRIPT-Tag und wird wahrscheinlich einen Fehler auslösen, wenn er nicht korrekt formatiert ist.
Für weitere Informationen zu diesem Thema, schlage ich vor, Sie schauen sich die Basis $ .Ajax-Funktion anstelle der Verknüpfungen. (In der jQuery-Dokumentation unter Ajax. Sorry, ich kann keine weiteren Links posten)
Nochmals, wenn Sie keine Kontrolle über den Server haben, auf den Sie posten, sollten Sie, wenn möglich, in einen Proxy schauen. Andernfalls kann ein IFRAME Ihre einzige andere Option sein. Es gibt auch eine Methode, um dies mit einem SWF (Flash) -Objekt zu erreichen. Ich habe beides nicht versucht, aber sie sind Workarounds zu den Einschränkungen des XMLHttpRequest-Objekts.
Ich hoffe, ich könnte helfen!
+1. Toller Beitrag und willkommen in SO! – aolde
Danke für die Erklärung. Danach ist es viel klarer als eine Stunde Googeln. Ich habe Zugriff auf den Server, auf den ich poste, also ist alles gut. –
Äh, wie steht dieser Kommentar zum Thema? Es bezieht sich nicht auf POST, die der OT ausdrücklich verlangt! – HRJ