CORS Problem: Immer Fehler "No" Access-Control-Allow-Origin' - header vorhanden ist", als es tatsächlich ist

Ich bezweifle, dass das backend dient meine app ist wichtig, aber wenn Sie Pflege, ich bin mit rack-cors mit Rails 4.0 app.

Verwendung von jQuery, sende ich Ihnen meine app ein PATCH Anfrage wie folgt:

$.ajax({
  url: "http://example.com/whatever",
  type: "PATCH",
  data: { something: "something else" }
})

Wenn ich auslösen das aufrufen von Chrome, sehe ich eine erfolgreiche OPTIONS Wunsch gehen, der gibt diese Header von meinem server:

Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:accept, content-type
Access-Control-Allow-Methods:GET, PUT, PATCH, OPTIONS
Access-Control-Allow-Origin: http://sending-app.localhost:3000
Access-Control-Expose-Headers:
Access-Control-Max-Age:15

Dann sehe ich einen PATCH Anfrage gehen, die wirft diesen Fehler:

XMLHttpRequest-Objekt kann nicht geladen werden http://example.com/whatever. Kein "Access-Control-Allow-Origin' - header vorhanden ist, auf die angeforderte Ressource. Herkunft 'http://sending-app.localhost:3000' ist daher nicht der Zugriff erlaubt.

Ich habe versucht, das Umschalten von PATCH zu PUT mit dem gleichen Ergebnis.

Diese macht keinen Sinn für mich. Was ist Los?

Update: Meine config/application.rb

Dachte ich, dass der Header die ganze Geschichte erzählt, aber da die Menschen verwirrt sind, hier ist meine config/application.rb - Datei, die ist, wie die rack-cors-plugin für Rails konfiguriert ist:

config.middleware.use Rack::Cors do
  allow do
    origins '*'
    resource '*',
      :headers => :any,
      :methods => [:get, :put, :patch, :options],
      :max_age => 15
  end
end
  • Was macht Ihr application.rb Aussehen?
  • Ich habe meine application.rb, für was es Wert ist.
InformationsquelleAutor chadoh | 2013-12-21
Schreibe einen Kommentar