Ruby on Rails Webservice - 通过 ajax 请求访问



我正在用Ruby on Rails实现一个服务器。现在我想使用 ajax 请求(客户端在另一个域上,所以它是一个跨域调用)并从这个服务器中获取一些数据,并以 JSON 形式接收数据。

我该怎么做才能让它工作?

感谢

在客户端使用 jquery 发送 ajax 请求:

像这样形成你的参数:

var data = {
                    remote: true,
                    myplace:
                    {
                        swlat:lat(),
                        swlng:lng(),
                        nelat:lat(),
                        nelng:lng(),
                    }
                };
    $.getJSON('/location/getNewLocation',data, function(postsData) {
       parseReturnedJsonData(postsData);
   });

这将向 JSON 数据的 URL 发送 POST 请求。然后在服务器上,您可以读取参数,然后在函数中使用jQuery parseReturnedJsonData()渲染json。检查 getJson 和 parseJson 函数来自 jQuery: http://api.jquery.com/jQuery.getJSON/

查看 rails 的jsonp,但请确保您了解jsonp的工作原理

http://kevinchiu.org/archives/jsonp-in-rails-3

您需要

callback作为查询参数传递:

  $.getJSON('http://some-service.com/some-resource?callback=?',data, function(postsData) {
    parseReturnedJsonData(postsData);
  });

此外,请确保要查询的 API 支持 JSONP。查看 http://eduvoyage.com/jsonp-explained.html 以更好地了解 JSONP 的工作原理。

相关内容

  • 没有找到相关文章