【问题标题】:How to query my DB with with javascript?如何使用 javascript 查询我的数据库?
【发布时间】:2011-10-01 02:21:14
【问题描述】:

我有一个页面,允许用户使用谷歌地图 API 搜索他们的位置,我希望能够搜索我存储在我的数据库中的靠近搜索位置的地方。

那么我怎样才能即时查询数据库并更新谷歌地图呢?

到目前为止,这是我的地理编码代码:

    function codeAddress(address) {

      geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          latLng = results[0].geometry.location;
          map.setCenter(results[0].geometry.location);
          result=results[0].address_components;
          var info=[];
          for(var i=0;i<result.length;++i)
            {
                if(result[i].types[0]=="administrative_area_level_1"){state = i.long_name; }
                if(result[i].types[0]=="locality"){city = i.long_name;}
            } 
        ......

那么我如何获取这些城市和州变量并将它们传递给我的控制器以查找记录?

编辑 - 我根本没有在这个页面上使用 jquery,谷歌地图 API 是纯 ol' javascript。

我的 AJAX 知识为零,而 JavaScript 知识却非常少。

如果我有以下变量:var state ="MD"var City = "Bethesda"

到目前为止,我的控制器是:

  def shops
      @maps = Map.where("state LIKE ?", "%#{params[:state]}%" and "city LIKE ?", "%#{params[:city]}%")
  end

然后我必须取回该数组并循环显示它。

而且我不知道如何做到这一点,我已经看到了许多使用 rails 的 AJAX 示例,但到目前为止没有什么特别有用的......

【问题讨论】:

  • 如果您通过浏览器访问您的应用程序,数据库将在服务器上,您可以通过 AJAX 调用访问它。
  • 是的,我完全不知道该怎么做。你知道有什么好的教程吗?

标签: javascript ruby-on-rails ruby-on-rails-3 google-maps


【解决方案1】:

您可以使用jQuery 进行可移植的跨浏览器的AJAX 调用。 jQuery 是一个轻量级的 JavaScript 库。服务器将回复 JSON 编码的数据,这些数据又来自数据库。您可以使用任何服务器端语言来执行此操作,例如 Ruby,正如您从标签中建议的那样。

只需在 Google 上搜索 JSONjQuery.getJson() 教程,您就会发现很多,例如 this one

【讨论】:

  • 好吧,我不认为我试图获取 JSON 编码数据,我想将城市和州发送到我的控制器,在那里它将发送回匹配记录的数组。然后我会在地图上放置这些标记
  • 在调用时将城市和州传递给您的控制器,您的控制器将返回该查询的结果。见:groups.google.com/group/jquery-en/browse_thread/thread/…
猜你喜欢
  • 1970-01-01
  • 2016-10-22
  • 2020-11-07
  • 2014-01-05
  • 2023-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多