Ich habe zwei separate Apps auf demselben Server, wobei der EmberJS versucht, domainübergreifende Aufrufe an meine Backend-API vorzunehmen.
Ich habe meine Backend-API eingerichtet, um domainübergreifende Anfragen von diesem bestimmten Ursprung zuzulassen. Gibt es jedoch einen Weg, um JSONP mit solch einer Einrichtung zu vermeiden? $.ajax
blockiert domänenübergreifende Anforderungen, bevor sie überhaupt gesendet werden. Wenn nicht, was ist der Sinn von CORS, welche Server-Seite habe ich implementiert, um Anfragen von meiner JS-Frontend-Quelle zu akzeptieren?
BEARBEITEN
AJAX-Anfrage:
%Vor%Wenn Sie CORS aktivieren, müssen Sie JSONP nicht verwenden.
%Vor%Wenn dieser Header in der Antwort festgelegt ist, kann der normale XmlHttpRequest auf die Antwort zugreifen, als ob er der gleichen Domäne gleicht. Überprüfen Sie, ob diese Kopfzeile korrekt eingestellt ist.
Ich hoffe, dass dieser Link Ihnen helfen wird, wenn Sie jquery Eine CORS POST-Anfrage funktioniert mit einfachem JavaScript, aber warum nicht mit jQuery?
Aktualisierung: Beispiel
%Vor%Versuchen Sie dies in einer beliebigen Domain, Sie erhalten eine Antwort.
Update-Lösung:
Request URL ohne "http: //" verursachte das Problem, bevor "http: //" das Problem löste
Sie können rack-cors
in Rails 5 verwenden, um alle URLs zuzulassen.
In einer domänenübergreifenden Umgebung schlage ich vor, JSONP statt CORS zu verwenden, weil viele freie Hosts keine domänenübergreifenden CORS unterstützen. Es ist detailliert in Arbeitsbeispielen - sowohl JSONP als auch CORS.
Tags und Links javascript ruby-on-rails ajax cross-domain ember.js