带有Rails的JSONP

问题描述 投票:2回答:3

我正在尝试使用Rails / Prototype从远程站点检索JSON数据。

我发现有a branch of Prototype具有Ajax.JSONRequest()功能。我无法使它正常工作。

jQuery具有$.getJSON()函数,但是我正在使用一些Prototype函数,我宁愿不切换到jQuery也不使用不冲突模式。

我想念的是什么?使用Rails或Prototype似乎很容易做到。

jquery ruby-on-rails json prototypejs jsonp
3个回答
1
投票

您是否需要使用Rails助手来使客户端请求JSON?使用Prototype可轻松实现

new Ajax.Request('/some_url', {
  method: 'get',
  onSuccess: function(transport) {
    var json = transport.responseText.evalJSON();
  }
});

[您只需要使用Rails的Object#to_json方法,确保/ some_url以JSON响应XHTTPRequest(最好使用response_to ?,但您也可以检查request.xhr?)。


3
投票

您还可以使用rack-contrib中提供的JSONP机架中间件。这使您能够将&callback = method附加到查询字符串,并将来自rails的响应包装在您的回调方法中。


1
投票

没有专门用于jsonp的rails中内置的功能,但是如果您想让rails应用程序与jsonp完美结合,则可以做一些事情。

© www.soinside.com 2019 - 2024. All rights reserved.