我想将数据从表单发送到Sinatra中的路由,如下所示:

 <form action="/yelp/api" method="post" class="ajaxform">
          <input type="text" name="yelp_location" placeholder="Yelp Location">
          <input type="text" name="yelp_term" placeholder="Search Term">
          <input type="submit">
 </form>

然后在路由中,使用以下输入来调用Yelp API:

post '/yelp/api' do
  content_type :json
  @term = params[:yelp_term]
  @location = params[:yelp_location]

  # yelp search params
  params = { term: @term,
       limit: 20
     }

  locale = { lang: 'en' }
  client.search(@location, params, locale).to_json

end

我不想刷新页面,所以我想使用AJAX和jQuery进行此操作。 Sinatra航线和AJAX是否可以做到这一点? 我在寻找示例,但它们似乎都使用PHP。

编辑:更具体地说,我将如何使用AJAX从路线中抢走? 示例被赞赏。

  ask by blunatic translate from so

本文未有回复,本站智能推荐:

1回复

如何使用带有sinatra的ajax请求上传文件?

我正在尝试使用带有ruby-sinatra函数的jquery ajax函数上传文件。 这是我的代码。 JavaScript代码 sinatra函数 结束 上面的代码返回以下错误 请帮我解决这个错误
2回复

Sinatra无法识别会话的JavaScript

我正在尝试使用jQuery登录Sinatra应用程序,但是出于某种原因,Sinatra似乎根本无法识别它,这是我的代码,用于查看用户是否已登录: Sinatra应用程序: 当我在浏览器中浏览到/logged_in时,我看到OK ,但是当我执行以下Javascript时,将False打印到
2回复

JqueryAjax请求到Sinatra应用程序

我已经在这一段时间了,但我错过了一些东西。 我刚刚设置了一个返回JSON的简单Sinatra应用程序: 这工作正常,然后我用来做跨域请求的JavaScript 不幸的是,我只是继续在控制台中得到错误Uncaught SyntaxError: Unexpected token :虽然我尝
1回复

Ajax返回错误,但是可以工作

我正在使用Ajax和Sinatra运行应用程序。 我想将POST参数发送到我的app.rb文件中。 我的app.rb 我的观点 它返回警报“ [对象对象]错误”,但是在我的控制台上,我看到我成功检索了POST参数。 这样就可以了,但是我无法进入代码的“成功”部分,而是进入了错
2回复

ajax请求后脚本不再起作用

页面上有一张表格,我通过ajax更新。 有些脚本使用表的内容。 例如,其中一个使用表上的“ Check all / Uncheck all ”复选框来check/uncheck该表上的其他复选框。 当我执行ajax请求时,它返回的内容几乎与表相同 。 至少,这绝对是正确的 ,不应破坏脚
1回复

可以将AJAX与Sinatra一起使用吗?

这已经被问过几次了,但是,在网络上似乎没有很好的答案。 为避免未回答此问题的答复或链接,我将其改写。 页面只有带有输入文本(和按钮)的表单。 我们将文本发布到服务器,并希望将其发送回并发出警报。 换句话说,视图应具有以下行: 使用PhP,答案就是“回声”一线。 可以在Sinatra
1回复

使用ajax和sinatra发送附件

我已经使用aony和pony发送了使用ajax和sinatra的电子邮件,因此尝试添加附件,但是当我尝试添加附件时,却无法发送附件。 它确实发送电子邮件,但附件设置为noname,当我将其扩展名更改为.docx以查看它时,它看起来像这样 在过去的两天里,我一直把头撞在桌子上,无法解决。
2回复

使用ajax将json数据发布到sinatra路由并发送到数据库

我在学习JavaScript如何在应用程序周围发送数据时遇到一些问题。 现在,我不知道要如何将一些JSON数据返回到Sintra POST路由,该路由会创建一个新的数据库条目。 我并没有真正收到任何错误消息,我的应用程序在屏幕上显示了数据,但从未写入数据库。 这是我最近的失败尝试 通