我想将此参数topic
传递给另一个页面,
P.S。页面是使用jquery加载的吗?
网址:
http://localhost/final/home.php#page2?topic=jquery
现在,我想回应#page2上的主题
<h3 class="timeline"><?php echo $_GET["topic"]; ?> </h3>
但它的回声,任何解决方案,对新生儿的问题感到抱歉:))
load_page.php
<?php
if(!$_POST['page']) die("0");
$page = (int)$_POST['page'];
if(file_exists('pages/page_'.$page.'.php'))
include('pages/page_'.$page.'.php'); // i.e page_2.php
else echo 'There is no such page!';
?>
答案 0 :(得分:7)
您的网址必须如下:
http://localhost/final/home.php?topic=jquery#page2
浏览器未发送散列(#
)之后的任何内容,它纯粹是用于浏览器,例如滚动到正确的位置,一种做AJAX历史记录的方式等等......但是它没有在请求中发送,目前您的所有服务器都是:
http://localhost/final/home.php
这解释了为什么_GET["topic"]
为空。
答案 1 :(得分:1)
从dataType中删除php,并阅读此read this about datatypes for ajax requests
答案 2 :(得分:0)
为实际效果,网址以#
结尾。其他任何东西都没有送到他的服务器。
你可能想要这个:
http://localhost/final/home.php?topic=jquery#page2
答案 3 :(得分:0)
只需使用PHP的parse_url函数执行以下操作:
$url = 'http://username:password@hostname/path?arg=value#anchor';
//Replace the URL in your case with "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH)
将返回:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
在你的情况下,它更像是:
Array
(
[scheme] => http
[host] => localhost
[path] => /final/home.php
[query] => topic=jquery
[fragment] => page2
)