【问题标题】:PHP - Loaded Page with Ajax/jQuery - Get URL of master pagePHP - 使用 Ajax/jQuery 加载页面 - 获取母版页的 URL
【发布时间】:2016-08-21 21:20:54
【问题描述】:

在我网站上的网页(100 多个不同的页面)上,我有以下代码来使用 Ajax 和 jQuery 加载和请求页面。调用它的示例页面 url 是 products.phpfaqs.php

jQuery( document ).ready(function() {
    new Ajax.Request('dynamic-page.php', {
        method: 'POST',
        requestHeaders: { Accept: 'application/json' },
        onSuccess:function(transport) {
            var response = transport.responseText.evalJSON(true);
            // do something with response
        }.bind(this)
    });
});

现在在我的dynamic-page.php 中,我有几个条件语句,其中一个需要知道调用它的页面是什么。

在dynamic-page.php中我可以得到路径:

$path = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

可以理解,这给了我动态页面的 url(即http:www.website.com/dynamic-page.php

我的问题是在我的动态页面中,是否可以获得使用 PHP 调用它的主父/页面的 url/路径?我需要在我的动态页面中知道用户所在的页面是 products.php 还是 faqs.php

【问题讨论】:

    标签: php jquery ajax url path


    【解决方案1】:

    如果您通过 AJAX 请求页面,它会被视为一个单独的请求,所以我看不出在服务器端如何在没有额外信息的情况下知道这一点。但是,由于您是通过 POST 请求请求页面,所以我能想到的最明显的事情就是在发出 AJAX 请求时将页面名称放入 POST 变量中。然后,您请求的页面可以使用该信息来了解它是在什么上下文中被请求的。

    【讨论】:

      【解决方案2】:

      您可能想尝试将当前页面的 URL 作为参数发送到您的 Ajax 调用。尝试这样的事情,而不是:

      jQuery( document ).ready(function() {
      new Ajax.Request('dynamic-page.php', {
          method: 'POST',
          requestHeaders: { Accept: 'application/json' },
          parameters: {url: window.location.href},    //the URL of the Current Page incl. query strings
          onSuccess:function(transport) {
              var response = transport.responseText.evalJSON(true);
              // do something with response
          }.bind(this)
      });
      

      });

      在端点 PHP 文件(“dynamic-page.php” - 在本例中),您可能会执行以下操作:

      <?php
          $originationURL = (isset($_POST['url']) && !empty($_POST['url'])) ? $_POST['url'] : "a-default-page.php";
          //Do whatever you wish with the *$originationURL* variable...
      ?>
      

      如果您通过 AJAX 调用发布其他数据(例如表单数据);确保没有一个参数被命名为 url。

      我希望这会有所帮助... 我没有测试代码,但我认为这应该可以解决问题...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-31
        • 2016-01-03
        • 1970-01-01
        • 2014-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多