获取完整页面不仅是Ajax响应片段

时间:2016-12-19 11:07:28

标签: javascript php jquery ajax address-bar

我正在使用Javascript客户端与Jquery Library和PHP服务器端开发Web应用程序。我广泛使用了AJAX,我没有在链接元素上使用任何href属性。只有主页从零加载。其他是由AJAX调用请求的,并且AJAX响应被放入主页,例如使用Jquery .html()函数来显示新页面。

问题是当我运行http://sani.com/index.php时,我得到了主页。如果我点击搜索按钮,我会看到http://sani.com/search页面。但是如果我在地址栏上运行http://sani.com/search,我只会收到AJAX响应,因此要将内容放在首页而不是整个http://sani.com/search页面。

当我在地址栏上运行此网址时,如何获取完整的http://sani.com/search页面?我做错了什么?

3 个答案:

答案 0 :(得分:2)

将您的索引页分成三页

  • header.php
  • content.php
  • footer.php

并将它们包含在索引页

<?php
include_once 'header.php';
include_once 'content.php';
include_once 'footer.php';
?>

并在搜索页面上执行相同操作并将页眉和页脚页放入条件

<?php
if(empty($_GET['htmlOnly'])) include_once 'header.php';
include_once 'content.php';
if(empty($_GET['htmlOnly'])) include_once 'footer.php';
?>

现在你的ajax网址是httt://abc.com/search?htmlOnly = 1,它只会加载内容部分

没有 &#34; htmlOnly = 1&#34; httt://abc.com/search将加载整个HTML页面。

答案 1 :(得分:0)

保持简单。只需添加另一个将返回搜索html的路由。 例如:

/ search - 将返回整个呈现的搜索页面。 / getSearchHtml - 将返回您需要的唯一html片段。

它可以帮助您避免路线混乱。

答案 2 :(得分:0)

您可以使用带有

的框架来使用通用布局
  1. 标题
  2. 页脚
  3. 正文中的内容可能会发生变化,页眉,页脚也会很常见。 如果您点击搜索按钮,则会在&#39; body&#39;中加载ajax代码。部分,如果你打开&#39; /搜索&#39;页面也单独加载公共页眉和页脚。

    您必须为搜索页面和ajax文件指定单独的名称,因为ajax代码只是&#39; / search&#39;的一部分。页面,如果你想单独访问它,你需要使用通用布局,这将是整个页面的组合。