Wie sende ich via JavaScript eine POST-Anfrage über verschiedene Domains hinweg?
Hinweise - die Seite sollte nicht neu geladen werden und ich muss die Antwort danach abrufen und analysieren.
Wie sende ich via JavaScript eine POST-Anfrage über verschiedene Domains hinweg?
Hinweise - die Seite sollte nicht neu geladen werden und ich muss die Antwort danach abrufen und analysieren.
Hohes Level.... Sie müssen ein CNAME-Setup auf Ihrem Server haben, damit other-serve.your-server.com auf other-server.com verweist.
Ihre Seite erstellt dynamisch ein unsichtbares iframe, das als Transport zu other-server.com fungiert. Dann müssen Sie über JS von Ihrer Seite aus mit other-server.com kommunizieren und Rückrufe haben, die die Daten zurück auf Ihre Seite bringen.
Möglich, erfordert jedoch Koordination von your-server.com und other-server.com
Ich weiß, dass dies eine alte Frage ist, aber ich wollte meinen Ansatz teilen. Ich benutze cURL als Proxy, sehr einfach und konsistent. Erstellen Sie eine PHP-Seite namens submit.php und fügen Sie den folgenden Code hinzu:
`Dann in Ihrem JS (hier jQuery):
$.ajax({
type: 'POST',
url: 'submit.php',
crossDomain: true,
data: '{"some":"json"}',
dataType: 'json',
success: function(responseData, textStatus, jqXHR) {
var value = responseData.someKey;
},
error: function (responseData, textStatus, errorThrown) {
alert('POST fehlgeschlagen.');
}
});`
Ich denke, der beste Weg ist die Verwendung von XMLHttpRequest (z.B. $.ajax(), $.post() in jQuery) mit einem der Cross-Origin Resource Sharing Polyfills https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#wiki-CORS
Dies ist eine alte Frage, aber einige neue Technologien könnten jemandem helfen.
Wenn Sie administrative Zugriffsrechte auf den anderen Server haben, können Sie das Opensource Forge-Projekt nutzen, um Ihren Cross-Domain-POST zu erledigen. Forge bietet eine Cross-Domain-JavaScript XmlHttpRequest-Umgebung, die von Flashs raw Socket-API profitiert. Der POST kann sogar über TLS erfolgen.
Der Grund, warum Sie administrative Zugriffsrechte auf den Server benötigen, an den Sie POSTen, ist, dass Sie eine Cross-Domain-Richtlinie bereitstellen müssen, die den Zugriff von Ihrer Domain erlaubt.
Es sollte möglich sein mit einer YQL-Custom-Tabelle + JS XHR, schau mal hier: http://developer.yahoo.com/yql/guide/index.html
Ich benutze es, um etwas Client-seitiges (js) HTML-Scraping zu machen, funktioniert gut (Ich habe einen kompletten Audioplayer, mit Suche im Internet/Playlists/Lyrics/Last.fm Informationen, alles clientseitig js + YQL)
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Ich würde gerne ein wenig über den Anwendungsfall erfahren, der es Ihnen ermöglicht, dies zu versuchen. Könnten Sie bitte etwas darüber erzählen?
0 Stimmen
Grundsätzlich arbeite ich an einem Skript, das Text aus einer HTML-Datei an einen anderen Server zur Verarbeitung senden muss.
3 Stimmen
Kannst du einen Proxy einrichten, der dies auf der Serverseite ausführt und deinem Skript nur das Ergebnis liefert? Oder muss es zu 100% JavaScript sein?