Javascript 处理来自不同页面的ajax URL?

Javascript 处理来自不同页面的ajax URL?,javascript,jquery,ajax,Javascript,Jquery,Ajax,因此,我的网站位于http://example.com/foo/(在目录下,主域用于其他内容) 使用.htaccess,我设置了我的页面,使URL看起来像http://example.com/foo/about/,http://example.com/foo/polls/,http://example.com/foo/registration/,等等。这非常有效,站点加载良好,可以在没有任何Javascript问题的情况下进行遍历 现在,我想向导航添加一些AJAX功能。如果我在http://ex

因此,我的网站位于
http://example.com/foo/
(在目录下,主域用于其他内容)

使用.htaccess,我设置了我的页面,使URL看起来像
http://example.com/foo/about/
http://example.com/foo/polls/
http://example.com/foo/registration/
,等等。这非常有效,站点加载良好,可以在没有任何Javascript问题的情况下进行遍历

现在,我想向导航添加一些AJAX功能。如果我在
http://example.com/foo/
我单击“关于”的导航,它将URL更改为
http://example.com/foo/#about
并在站点的一个部分中动态加载“关于”页面。我也有这个工作

我有两个问题,涉及处理AJAX和非AJAX URL之间的切换

  • 如果我在
    http://example.com/foo/about/
    我点击polls,它看起来像
    http://example.com/foo/about/#polls
    看起来不太漂亮。理想情况下,我希望每个AJAX URL的格式都只包含主目录和散列,如
    http://example.com/foo/#about

    我应该通过强制实际(非AJAX)重定向到带有散列符号的索引页面,然后从那里加载来处理它吗

  • 另一个问题恰恰相反。如果我发送
    http://example.com/foo/#about
    对于禁用了Javascript的人,或者如果有人链接到它,而机器人爬网了该链接,是否有办法处理该问题以重定向到正确的非AJAX页面,或者这只是我不得不面对的不幸事实


    • 如果您需要非javascript支持,我会将您的所有URL直接更改为页面。像
      http://example.com/foo/#about
      http://example.com/foo/about/

      然后,javascript可以拦截它,调用
      event.preventDefault()
      ,并将其“重定向”到#about,这将遵循ajax功能

      如果客户端没有javascript,它将转到
      http://example.com/foo/about/
      正常


      至于在
      http://example.com/foo/about/
      ,javascript客户端永远不应该出现在这里,因为它们总是被重定向到hashtags

      如果您需要非javascript支持,我会将您的所有URL直接更改为页面。像
      http://example.com/foo/#about
      http://example.com/foo/about/

      然后,javascript可以拦截它,调用
      event.preventDefault()
      ,并将其“重定向”到#about,这将遵循ajax功能

      如果客户端没有javascript,它将转到
      http://example.com/foo/about/
      正常

      至于在
      http://example.com/foo/about/
      ,javascript客户端永远不应该出现在这里,因为它们总是被重定向到hashtags

      1)如果重定向到主页,然后使用ajax加载about页面,那就没有什么意义了。您应该做的是通过ajax使一切都能正常工作:首先不应该有一个简单的查询,然后在单击polls时更新哈希和内容

      2) 对不起,没有办法避免

      1)如果重定向到主页,然后使用ajax加载about页面,那就没有什么意义了。您应该做的是通过ajax使一切都能正常工作:首先不应该有一个简单的查询,然后在单击polls时更新哈希和内容

      2) 对不起,没有办法避免