我正在尝试使用Rails / Prototype从远程站点检索JSON数据。
我发现有a branch of Prototype具有Ajax.JSONRequest()
功能。我无法使它正常工作。
jQuery具有$.getJSON()
函数,但是我正在使用一些Prototype函数,我宁愿不切换到jQuery也不使用不冲突模式。
我想念的是什么?使用Rails或Prototype似乎很容易做到。
您是否需要使用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?)。
您还可以使用rack-contrib中提供的JSONP机架中间件。这使您能够将&callback = method附加到查询字符串,并将来自rails的响应包装在您的回调方法中。
没有专门用于jsonp的rails中内置的功能,但是如果您想让rails应用程序与jsonp完美结合,则可以做一些事情。