【问题标题】:PHP not receiving value/data from $_GET["_escaped_fragment_"]PHP 未从 $_GET["_escaped_fragment_"] 接收值/数据
【发布时间】:2015-05-19 13:18:34
【问题描述】:

我一直在尝试在 WAMP SERVER 中的 PHP 中使用/获取来自 $_GET["_escaped_fragment_"] 的值,但它似乎不起作用。

PHP 代码:

$values = $_GET['_escaped_fragment_'];
if($values) {
    echo "Values: ".$values;
}

JQuery 代码:

   $(function() {
        $(window).hashchange(function() {
            if(window.location.hash) {
                var url = window.location.hash.split("#!");
                carregar(url[1]);
            }
        });
        $(window).hashchange();
    });

    function carregar(url){
        $('#container').load('/'+url+".php",function(){
        });
    }

HTML 代码:

<a href="/#!home">> Home</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="/#!contato">> Contato</a><br>

<div id="container">
    <?php
        if($values) {
            include $values.".php";
        }
    ?>
</div>

Robots.txt

User-agent: *
Allow: /

所以,如果我点击一个链接(例如主页),它将是:localhost/#!home,它会从 home.php 加载显示我的主页内容的内容。

问题 PHP $_GET["_escaped_fragment_"] 没有得到任何值,即使我强制加载页面(写入 url 并按 Enter)

我的 Wamp 版本:

Apache 版本:2.4.9

PHP 版本:5.5.12

MySQL 版本:5.6.17

【问题讨论】:

  • 如果你做print_r($_REQUEST)你看到了什么变量然后你看到了?
  • 您希望$_GET["_escaped_fragment_"] 中的内容是什么?
  • @AdamT 不,我明白了:Array ( )
  • @holpducki 你能发布你的 HTML 表单的内容/代码吗?
  • @MichaelCoxon 我知道我错过了什么,但我不知道什么!?我期待来自 标记url/link

标签: php ajax google-crawlers


【解决方案1】:

从我的 cmets 开始……你需要做类似的事情……

$(function() {
    $(window).hashchange(function() {
        if(window.location.hash) {
            var url = window.location.hash.split("#!");
            var realUrl = '/' + url[1] + 
                ".php?_escaped_fragment_=/" + encodeURIComponent(window.location.hash);

            $('#container').load(realUrl, function(){
               // do stuff when finished
            });
        }
    });
    $(window).hashchange();
});

【讨论】:

  • 嗯,不错的想法,但是看看这个:developers.google.com/webmasters/ajax-crawling/docs/…
  • 访问链接后...抱歉,我的错误,ugly url 我以为您将其描述为外观丑陋,而不是 Google 文档。
  • @AdamT 没问题,正如我之前所说,我可以加载页面等,我只能在 php 代码中获取values,因为我缺少将值发送到@ 987654325@我猜。
  • @MichaelCoxon 我仍然无法在 PHP 中获取变量,因为我正在加载页面即时发送变量/值而不是原始的。
  • @holpducki 嘿伙计,这就是 Google 在抓取您的网站时的做法。您仍然必须在所有繁重的工作中进行编程 - 这没有内置的魔法。
猜你喜欢
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-08
  • 2014-02-21
相关资源
最近更新 更多