Ich benutze Rails 2.3 und ich habe beschlossen, Unterstützung für JSONP bereitzustellen. Erstellt eine brandneue Anwendung. Dann lief Skript/generieren Gerüst Benutzername: stringrack-jsonp funktioniert nicht für einfache Anfragen, funktioniert aber für .js Aufrufe in Rails 2.3
Das ist meine ganze environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
require File.join(File.dirname(__FILE__), 'boot')
require 'rack/contrib'
Rails::Initializer.run do |config|
config.middleware.use 'Rack::JSONP'
end
Wenn ich besuchen localhost: 3000/Anwender alles, was ich bekommen ein Hash ist. Wenn ich localhost besuche: 3000/users.js? Callback = Show dann bekomme ich ein gutes Ergebnis.
Schauen wir uns die jsonp code. Ich verstehe nicht, warum die Antwort in ein Array gewickelt wird.
erstellt ich eine andere Rack-Middleware, wo ich
[status, headers, [response]]
mit dieser Aussage
[status, headers, response]
Und jetzt alles funktioniert prima diese Aussage ersetzt.
Ich weigere mich zu glauben, dass dies ein Bug in Rack-Beitrag ist.
Kann mir jemand erklären, warum die Antwort in einem Array verpackt ist und wie ich Rack-Contrib in meiner Anwendung verwenden kann.
Der vollständige Quellcode meiner Anwendung is here. Einfach klonen und auf localhost: 3000 ausführen.