1
我正在使用Rails 2.3,并决定为JSONP提供支持。创建一个全新的应用程序。然后运行脚本/生成支架用户名:字符串rack-jsonp不能用于简单请求,但适用于Rails 2.3中的.js调用。
这是我整个的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
当我访问本地主机:3000 /用户的所有我得到的是一个哈希值。当我访问本地主机:3000/users.js?callback =显示然后我得到了很好的结果。我们来看一下jsonp code。我不明白为什么响应被封装在一个数组中。
我创造了另一个Rack中间件,我代替这种说法
[status, headers, [response]]
这种说法
[status, headers, response]
而现在一切工作正常。
我不认为这是一个rack-contrib中的bug。
有人能告诉我为什么响应被包裹在一个数组中,我怎么能在我的应用程序中使用rack-contrib。
我的应用程序的完整源代码is here。只需克隆它并在localhost:3000上运行即可。