php - 在页面内加载页面或将 js 变量传递给 php

标签 php javascript ajax

我有一个php页面,里面还有另一个php页面,这个php页面有一个分页器,是否有可能每次我分页时它只会加载内部页面而不是整个页面?

我尝试使用 AJAX 来解决这个问题,正如你在我的第一篇文章中看到的那样,但我遇到了这个问题,我需要获取发送到 ajax 的信件和页面并再次使用它进行分页,所以它会就像 javascript 将其变量发送到 php 我尝试过:

 <script>
    function pagereturn()
    {
        return getpage;
    }
 </script>
 <?php  
     $pageno = pagereturn();
     echo $pageno;
  ?>

    function passPaginationAndLetter(page)
    {
    if (page=="")
      {
      document.getElementById("retail_group").innerHTML="";
      return;
      } 
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
                    document.getElementById("retail_group").innerHTML=xmlhttp.responseText;
        }
      }
    getpage = page;
    xmlhttp.open("GET","otherpage.php? letter="+getletter+"&pageno="+page,true);
    xmlhttp.send();

    }

    var page = 1;
    $("#nextButton").click(function(){
        page = page+1;
        passPaginationAndLetter(page);
    });

但不幸的是我最终没有结果并且破坏了我的代码。顺便说一句,getpage 是我从另一个函数获取的变量。

非常感谢您,我对 javascript 还很陌生,因此我向您寻求帮助。 :)

---child.php中的分页代码---- {

}
else
{
if ($pageno == 1) {
//echo " FIRST PREV ";
}
else
{
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
$prevpage = $pageno-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
}   
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage)
{
//echo " NEXT LAST ";
}
else
{
$nextpage = $pageno+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
}

---parent.php 中的分页代码-----

else
{
    echo '<a href = "#" onclick="passPaginationAndLetter("1"); return false;">FIRST</a>';
    $prevpage = $pageno-1;
    echo '<a href = "#" onclick="passPaginationAndLetter('.$prevpage.'); return false;">PREV</a>';
}   
echo " ( Page $pageno of $lastpage ) ";
if ($pageno == $lastpage)
    {

    }
    else
    {
        $nextpage = $pageno+1;                      
        echo '<a id = "nextButton" href = "#" onclick="passPaginationAndLetter('.$nextpage.'); return false;">NEXT</a>';
        echo '<a href = "#" onclick="passPaginationAndLetter('.$lastpage.'); return false;">LAST</a>';                                              
    }

最佳答案

好的,试试这个:

假设您有一个显示所有分页的主页,名为 ma​​in.php,还有另一个包含所有功能的 php 文件,名为 functions.php.

我假设您在functions.php中有一个php函数,可以生成分页的单个页面(例如getAJAXpage($page))。该函数生成一个完整的 HTML 页面,如下所示(记住这只是一个示例,可以通过 1000 种不同的方式实现):

<?php //functions.php file
...
public function getAJAXpage($page){
    $page = $_REQUEST['page'];//im not pretty sure about this :S
    $elements = getElements($page);//this function returns the set of elements in your page
    echo '<table>';
    foreach($elements as $e){
        echo '<tr><td>'.$e.'</td></tr>';
    }
    echo '</table>';
}
...
?>

您可以在 php 页面 ma​​in.php (显示所有分页的页面)中执行以下操作:

function getAjaxPage(page){ //this is a javascript code in main.php file   
    $.ajax({
        type:'GET',
        dataType:'html',
        url:'the-url-for-your-getAJAXpage-function',
        success:function(data){
            $("#your-pagination-element").html(data);
        }
    });
}

我还假设在 ma​​in.php 文件中的分页页面 html 中,至少有一组按钮(或图标)来指导分页(下一个、上一个、第一个、最后一个、 ...)。所以你可以将此代码添加到上面的 javascript 中。

//more javascript in main.php
var page = 1;
$("#nextButton").click(function(){
    page = page+1;
    getAjaxPage(page);
});

所有按钮也是如此。

注意:在此答案中我还假设您使用 JQuery libray,强烈推荐给 javascript 初学者。

希望对你有帮助。祝你好运!

关于php - 在页面内加载页面或将 js 变量传递给 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9330948/

相关文章:

php - 我的 Codeigniter 使用 ajax 自动完成

php - 如何对 HHVM 进行日志轮换

php - 在 Lumen 中执行迁移时未设置表名

php - 在不离开我的页面并传递唯一下载 ID 的情况下通过 PayPal 付款

PHP 排名和更新所有数据库行

javascript - 为什么 GWT 编译需要用户代理规范?

javascript - MethodNotAllowedHttpException Ajax Laravel 5.3 在带有参数的路线上

javascript - 如何设置选定的 li 值以使用 jquery 输入

javascript - 代码在 Codepen 中有效,但不适用于我的桌面文件

ruby-on-rails - 在 Downvote Rails 4 上充当投票提示