Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HTML获取URL参数_Php_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Php HTML获取URL参数

Php HTML获取URL参数,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我想在不重新加载页面的情况下更改url,因为我使用AJAX函数来重新加载div。 问题在于,当AJAX加载div时,它不会读取url参数 我的代码(我已经加载了jquery.js等): index.php <a href="#page=1" onClick='refresh()'> Link </a> <a href="#page=2" onClick='refresh()'> Link2 </a> <script type="text/

我想在不重新加载页面的情况下更改url,因为我使用AJAX函数来重新加载div。 问题在于,当AJAX加载div时,它不会读取url参数

我的代码(我已经加载了jquery.js等):

index.php

<a href="#page=1" onClick='refresh()'> Link </a>
<a href="#page=2" onClick='refresh()'> Link2 </a>


<script type="text/javascript">

 $.ajaxSetup ({
    cache: false
 });

 function refresh() {

    $("#test").load("mypage.php"); //Refresh
}

</script>



<div id="test">

</div>
 <?php 

 if (isset($_GET['page'])){

   $page = $_GET['page'];
 }
echo $page;

?>

$.ajaxSetup({
缓存:false
});
函数刷新(){
$(“#test”).load(“mypage.php”);//刷新
}
mypage.php

<a href="#page=1" onClick='refresh()'> Link </a>
<a href="#page=2" onClick='refresh()'> Link2 </a>


<script type="text/javascript">

 $.ajaxSetup ({
    cache: false
 });

 function refresh() {

    $("#test").load("mypage.php"); //Refresh
}

</script>



<div id="test">

</div>
 <?php 

 if (isset($_GET['page'])){

   $page = $_GET['page'];
 }
echo $page;

?>

您需要将
页面
参数传递到您请求的URL

试试这个:

<a href="#page=1" onClick='refresh(1)'> Link </a>
<a href="#page=2" onClick='refresh(2)'> Link2 </a>


<script type="text/javascript">

 $.ajaxSetup ({
    cache: false
 });

 function refresh(pageNumber) {

    $("#test").load("mypage.php?page="+pageNumber); //Refresh
}

</script>

$.ajaxSetup({
缓存:false
});
函数刷新(页码){
$(“#测试”).load(“mypage.php?page=“+pageNumber”)//刷新
}

您需要将
页面
参数传递到您请求的URL

试试这个:

<a href="#page=1" onClick='refresh(1)'> Link </a>
<a href="#page=2" onClick='refresh(2)'> Link2 </a>


<script type="text/javascript">

 $.ajaxSetup ({
    cache: false
 });

 function refresh(pageNumber) {

    $("#test").load("mypage.php?page="+pageNumber); //Refresh
}

</script>

$.ajaxSetup({
缓存:false
});
函数刷新(页码){
$(“#测试”).load(“mypage.php?page=“+pageNumber”)//刷新
}
#
散列标签之后获取:

使用PHP(必需的页面加载)
片段
您需要的索引

$url = parse_url($_SERVER['REQUEST_URI']);
$url["fragment"]; //This variable contains the fragment
使用jQuery:(不需要页面加载) 演示(使用时不带哈希标记) index.php
|
$(“.myLink”)。单击(函数(e){//时单击myLink类
e、 preventDefault();//什么也不做
var pageId=$(this).attr('data-id');//从设置好的数据id标记获取页面id
$.ajax({
类型:'POST',
url:'mypage.php',//发布到文件
数据:{id:pageId},//发布数据id
成功:功能(响应){
$(“#test”).html(响应);//在函数成功时写入div
}
});
});
mypage.php

#
散列标签之后获取:

使用PHP(必需的页面加载)
片段
您需要的索引

$url = parse_url($_SERVER['REQUEST_URI']);
$url["fragment"]; //This variable contains the fragment
使用jQuery:(不需要页面加载) 演示(使用时不带哈希标记) index.php
|
$(“.myLink”)。单击(函数(e){//时单击myLink类
e、 preventDefault();//什么也不做
var pageId=$(this).attr('data-id');//从设置好的数据id标记获取页面id
$.ajax({
类型:'POST',
url:'mypage.php',//发布到文件
数据:{id:pageId},//发布数据id
成功:功能(响应){
$(“#test”).html(响应);//在函数成功时写入div
}
});
});
mypage.php
您可以通过jQuery中的函数传递参数

有两种常见的方法:

使用get:

JS:

PHP:

if (isset($_POST['page']))
{
    $page = $_POST['page'];
}
echo $page;

?>
PHP:
if (isset($_POST['page']))
{
    $page = $_POST['page'];
}
echo $page;

?>

您可以通过jQuery中的函数传递参数

有两种常见的方法:

使用get:

JS:

PHP:

if (isset($_POST['page']))
{
    $page = $_POST['page'];
}
echo $page;

?>
PHP:
if (isset($_POST['page']))
{
    $page = $_POST['page'];
}
echo $page;

?>

PHP无法在不重新加载页面的情况下读取片段。这可以使用JS来完成

下面是我用来读取参数值而不重新加载页面的脚本。我不认为这是最好的方法,因为有一些插件可以用来做同样的事情(还有更多),但它是有效的。不久前我在网上找到了它,但不幸的是我不记得在哪里:(

然后,您将通过以下方式获得参数值:

urlParams['page']

如果你想大量使用散列URL,你应该检查一下这个插件:

PHP不能在不重新加载页面的情况下读取片段。这可以使用JS来完成

下面是我用来读取参数值而无需重新加载页面的脚本。我认为这不是最好的方法,因为有一些插件可以用于执行相同的操作(以及更多操作),但它很有效。我不久前在网上找到了它,但不幸的是,我不记得在哪里:(

然后,您将通过以下方式获得参数值:

urlParams['page']


如果你想大量使用散列URL,你应该看看这个插件:

你可以在load函数中传递参数。
$(“#test”).load(“mypage.php”);
变成
$(“#test”).load(“mypage.php?page=mypage”)
我不明白你想做什么。你能解释得更清楚一点吗?@putvande,这是一个例子,我的真实代码太大了,我想只使用Ajax加载我网站的所有页面。也许你要找的是HTML5历史API。看看这个。你可以在加载函数中传递参数。
$(“#test”).load(“mypage.php”)
变成
$(“#测试”).load(“mypage.php?page=mypage”)
我不明白你想做什么。你能解释得更清楚一点吗?@putvande,这是一个例子,我的真实代码太大了,我想只使用Ajax加载我网站的所有页面。也许你要找的是HTML5历史API。看看这个。我不想POST,在加载中传递参数是可行的,但问题是我不能通过这种方式将我在网站上的当前位置的链接发送给某人。这就是为什么我希望参数在URL栏上显示自己。然后你应该看看Bora的答案。:)我不想发帖,在加载中传递参数是有效的,但问题是我无法通过这种方式将我在网站上当前位置的链接发送给某人。这就是为什么我希望参数在URL栏上显示自己。然后你应该看看Bora的答案。:)加载有效,但是,问题是,我不能通过这种方式将我在网站上的当前位置的链接发送给某人。这就是为什么我希望参数在URL栏上显示自己。load可以工作,但问题是我无法通过这种方式将我在网站上当前位置的链接发送给某人。这就是我希望参数在URL栏上显示自己的原因。你能给我一个使用示例(对于jQuery)吗,因为我不知道如何处理jQuery代码。@user2372006抱歉迟到了。。我昨天很忙。。添加了演示代码。我没有使用散列标记。你能给我一个使用示例(用于jQuery)吗,因为我不知道如何处理jQuery代码。@user2372006很抱歉迟到了。。我昨天很忙。。添加了演示代码。我确实做到了,没有标签。