0

我想创建一个页面,其中将使用 Ajax (JQuery) 填充动态信息。该信息将来自我需要在其他 URL 中执行的各种 GET。我将使用 Sinatra + JQuery 来实现这一点,但是由于我的 WEB 经验几乎为零,并且不知道如何正确处理它。这样做的必要条件是:

  • 每次 GET 完成时,页面上都会出现一行新信息。
  • 如果 GET 无法完成,页面上会显示默认信息。

到目前为止,我的想法是做这样的事情:

  • 让我的控制器在线程内执行每个 GET。
  • 每次线程结束时,无论成功与否,我都会通知视图结果并呈现部分
  • 我将有尽可能多的部分(对于我必须做的每个 GET)
  • 第一次加载页面时,我填写了默认信息,它们通过 AJAX 更新成功的 GET 响应

这似乎不是正确的方法,所以我在问已经做过类似事情或者在这方面有更多经验的人一些帮助。

4

1 回答 1

1

您从一个get('/'){}包含默认消息(或任何其他 GET 路由)的简单路由开始。然后你有你想要在默认路由上显示的其他 GET 路由。在 Sinatra 中,您可以检查请求是否是 xhr 请求,request.xhr?如果您有 xhr 请求,则将 json 值返回到您的视图,否则拒绝请求或使用正确的 html 呈现视图。这是在您的 sinatra 后端。在您的视图中,您可以使用 JQuery 或任何其他 JS 库或普通 JS 来处理异步数据请求。您可以使用ajaxJQuery 中的函数从您的路由请求数据,然后将它们添加到您的 DOM。就这么简单 :)

现在您将不得不在 JQuery 站点上研究如何发出 ajax 请求以及如何将数据附加到现有 DOM。这里的所有都是它的。

于 2012-06-13T14:00:43.850 回答