【问题标题】:Rails - How to send front-end javascript data retrieved from an external API to the controllerRails - 如何将从外部 API 检索到的前端 javascript 数据发送到控制器
【发布时间】:2015-06-24 19:23:29
【问题描述】:

正如问题所述,我想从外部 API(谷歌地图 API)检索一些坐标并将其发送到我的控制器。目前我正在使用 jQuery/Ajax,但我收到 500 个内部服务器错误。我用谷歌搜索了这个错误,看来我可能正在发出跨域 ajax 请求。以下是相关的 javascript 和控制器代码:

Javascript:

//google maps API code goes here. The points variable ultimately gives me an object with an array of coorindates. 
var points = polyline.GetPointsAtDistance(16000);

$.ajax({
    type: "POST",
    url: '/pages/calculate',
    mydata: points,
    success: function(response) {
    //do something with the response here
    }
});

控制器:

def calculate
    x = params[:mydata]
    #do something with x ...
end

是否可以将此 javascript 数据发送到我的控制器?我可以以某种方式使用隐藏表单提交数据吗?或者,如果我想在后端操作谷歌地图数据,我是否必须使用谷歌地图 gem 并在后端执行所有数据操作?

【问题讨论】:

  • 你能发布回复吗?我的意思是数据错误

标签: javascript ruby-on-rails ajax google-maps yelp


【解决方案1】:

如果您希望从外部 API 获取数据,请考虑为此设置 ActiveResource。这样做将使数据可供您根据需要进行操作并提供给控制器/视图。

点击此处了解更多详情: [http://api.rubyonrails.org/v3.2.1/classes/ActiveResource/Base.html]

或者你可以只使用已经构建的 Gem...

【讨论】:

  • 感谢您的回复。我需要查看 ActiveResources。我在原始帖子中遗漏的一个细节是,我正在使用一个名为 epoly.js 的 javascript 库来生成沿谷歌地图 API 创建的路线的坐标。因此,似乎如果我要使用 ActiveResources 来查询谷歌地图 API(或使用 gem),我仍然必须以某种方式将该数据发送到我的 javascript 文件以使用 epoly.js 库对其进行操作,然后发送坐标回到我的控制器。有解决办法吗?
  • 通过控制器使数据在视图中可用也将使您能够在 epoly.js 库中使用它。
猜你喜欢
  • 2020-03-25
  • 2021-06-14
  • 2011-02-12
  • 2019-07-25
  • 1970-01-01
  • 2023-03-23
  • 2016-01-09
  • 2021-06-04
  • 2019-06-21
相关资源
最近更新 更多