通过jQuery将URL变量传递到另一页

问题描述:

嗨,我正在使用加载更多的脚本来加载更多的内容在同一页面上加载更多的内容时。这里是脚本...通过jQuery将URL变量传递到另一页

<script type="text/javascript"> 
    var track_page = 1; 
    load_contents(track_page); 

    $("#load_more_button").click(function (e) { 
     track_page++; 
     load_contents(track_page); 
    }); 

    function load_contents(track_page){ 
     $('.animation_image').show(); 

     $.post('fetch_pages.php', {'page': track_page}, function(data){ 

      if(data.trim().length == 0){ 
       $("#load_more_button").text("You have reached end of the record!").prop("disabled", true); 
      } 

      $("#results").append(data); 

      $('.animation_image').hide(); 
     }); 
    } 
</script> 

的index.php

$_SESSION['name']=$_GET['name']; 
$_SESSION['area']=$_GET['area']; 

<div class="wrapper"> 
    <div id="results"></div> 

    <button id="load_more_button"><img src="ajax-loader.gif" class="animation_image" style="float:left;"> Load More</button> 
</div> 

fetch_pages.php

include("db.php"); 
$item_per_page = 10; 
$page_number = filter_var($_POST["page"], FILTER_SANITIZE_NUMBER_INT, FILTER_FLAG_STRIP_HIGH); 

$position = (($page_number-1) * $item_per_page); 
$sort="id"; 
if(isset($_GET['sort'])&&($_GET['sort'])=='ASC'){ 
    $sort="price ASC"; 
} 
elseif(isset($_GET['sort'])&&($_GET['sort'])=='DESC'){ 
    $sort="price DESC"; 
} 
if($_SESSION['area']=='All'){ 
    $stmt = $mysqli->prepare("SELECT * from table where name= ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("sdd", $_SESSION['name'], $position, $item_per_page); 
} 
else{ 
    $stmt = $mysqli->prepare("SELECT * from table where name= ? AND area= ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("ssdd", $_SESSION['name'], $_SESSION['area'], $position, $item_per_page); 
} 
    $stmt->execute(); 
    $i=1; 
    $res = $stmt->get_result(); 
    while($row4=mysqli_fetch_array($res)){ 
     --------------- 
     --------------- 
} 

上述脚本工作正常,如果没有GET变量可用URL。但是,如果我想要在$_GET变量的基础上加载页面内容,它会给出$_GET变量未定义的错误。在哪里我需要定义这些变量..我也试着在fetch_pages.php上与index.php一起定义S_SESSION变量,但它仍然给出错误。

这样做的最好方法是什么?是否有可能不单独创建fetch_pages.php并在index.php页面中定义其内容?

谢谢...

+0

尝试从“'页面'中删除单引号:' –

+0

既不会给出任何错误,也不会显示任何内容... – Ashish

+0

您使用POST方法将数据发布到'fetch_pages.php'并访问我用'$ _GET'功能怎么可能...你能显示当前的网址吗? –

这是我的疑问,你可以检查这个 - (访问$ _ GET与出设置它),检查第一

if(isset($_GET['sort'])&&($_GET['sort'])=='ASC'){ 
    $sort="price ASC"; 
} 
elseif(isset($_GET['sort'])&&($_GET['sort'])=='DESC'){ 
    $sort="price DESC"; 
} 
// change above code snippet to following code 
$sort =''; 
if(isset($_GET['sort'])) 
{ 
    // if sort is not ASC then its definitely DESC 
    $sort = ($_GET['sort']=='ASC')?"price ASC" : "price DESC"; 
} 

现在对于第二代码片段

$area = '%%'; 
    $name = '%%'; 
    if(isset($_GET['area'])){ 
     $area = ($_GET['area']=='All' || empty($_GET['area']))?'%%':'%'.$_GET['area'].'%'; 
    } 
    if(isset($_GET['name'])) 
    { 
     $name = ($_GET['name'])?'%'.$_GET['name']:'%%'; 
    } 
    $stmt = $mysqli->prepare("SELECT * from table where name like ? AND area like ? ORDER BY $sort LIMIT ?,?"); 
    $stmt->bind_param("ssdd", $name , $area, $position, $item_per_page); 
+0

你好感谢你的努力,但这个问题不仅对排序变量...的名字和地区变量也存在问题... – Ashish

+0

您想查询什么火是'name'和'address'在获取IsNot运算规定方法 –

+0

如果我没有提到fetch_pages.php中的S_GET变量,我会得到“Undefined Variable:_SESSION”...但是如果我在fetch_pages.php上提及S_SESSION ['name'] = S_GET ['name'],那么我得到“未定义的索引:名称”.. – Ashish