【问题标题】:Github AJAX effect efficiently with Laravel使用 Laravel 高效实现 Github AJAX 效果
【发布时间】:2014-06-23 19:36:14
【问题描述】:

我正在使用 Laravel 开发一个 Web 应用程序。结构就像 Spotify。我不想每次单击链接或元素时都重新加载页面,我想保留页面的内容,只用相应的内容更改主 div。另外,我想更改 URL,以便用户可以通过链接访问该页面。 我看过 Github tree-slider,但我有一些疑问。

当我单击一个名为“song”的元素时,我将使用 Ajax 的相应 Laravel 路由执行函数“showSong”,例如“mypage.com/song/1”。然后,我将更改 URL,使 URL 看起来像“mypage.com/song/1”。问题是在 Ajax 中调用的函数只加载歌曲的内容,这对 Ajax 来说很好,但是当我从外部链接访问时就不行了。

我该怎么做?

【问题讨论】:

  • 除了为您写下所有这些,我们无能为力。请指定一个问题,以及期望的结果与结果,表达您为解决问题所做的工作。
  • 对不起,我想更具体一些,但我的英语不是很好,我的问题是如何组织一切,不仅仅是一个问题。很抱歉。
  • 没关系 :) 应用分而治之的策略。首先使用 ajax 重新加载一个 html 元素。如果可行,则进入下一步(通过 ajax 发送歌曲?)如果您在此过程中遇到问题,您将能够提出相关问题。如果您正在使用您尚未编写且您不理解的现有代码,那么这里不适合您。我们回答具体问题:)
  • @souvickcse,重新编辑:我认为这里有一个普遍的观点,即预格式化最适合代码和控制台 i/o。对于品牌和专有名词,大写字母就足够了。
  • @halfer 仍在学习规则谢谢您的评论

标签: php jquery ajax laravel


【解决方案1】:

您可以使用 Request::ajax() 以不同方式处理 AJAX 请求:

if(Request::ajax()) {
  // do something AJAXy, like present the sound
} else {
  // present a full HTML page, because the user navigated directly to this URL
}

在发出 AJAX 请求时,您将使用 HTML5 的状态 API(很可能使用非常方便的包装器 History.js)来更改 URL。

【讨论】:

  • 我不知道这回答了这个问题。他正在寻找一种在 AJAX 调用后修改 URL 的方法。
  • @user3158900 你说得对,我忽略了事情的次要方面。我添加了一个关于 History.js 的注释。
  • 看起来不错,我可以在非 Ajax 请求中显示完整视图,并在 ajax 请求中显示元素视图。非常感谢,但我会等着看是否有人有其他想法。
猜你喜欢
  • 2021-04-14
  • 1970-01-01
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2011-06-28
  • 2018-03-04
  • 1970-01-01
相关资源
最近更新 更多