在Jquery中如何重定向到另一个页面?

时间:2014-12-31 06:48:21

标签: php jquery ajax

我正在使用范围滑块执行搜索功能,使用Jquery& Ajax in Php。

我可以从数据库中获取数据并显示在同一页面中,但我需要在另一页中显示数据。

我的索引页面:

<html>
    <head>
        <title></title>
        <style>
            tr { border:1px solid #066;}
            tr th { border:1px solid #eeeeee; padding:5px; background:#e1e1e1;}
            tr td { border:1px solid #eeeeee;}
        </style>
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
        <link rel="stylesheet" href="style.css" />
        <script>
            $(function () {
                $("#slider-range").slider({
                    range: true,
                    min: 0,
                    max: 1000,
                    values: [0, 500],
                    slide: function (event, ui) {
                        $("#amount").val("Rs." + ui.values[ 0 ] + " - Rs." + ui.values[ 1 ]);
                        var from = ui.values[ 0 ];
                        var to = ui.values[ 1 ];
                        $.ajax({
                            type: "POST",
                            url: "get_data.php",
                            data: "from=" + from + "&to=" + to,
                            success: function (html) {
                                $("#response").html(html);
                                //window.location="index1.php";
                            }
                        });
                    }
                });
                $("#amount").val("Rs." + $("#slider-range").slider("values", 0) + " - Rs." + $("#slider-range").slider("values", 1));
            });
        </script>
    </head>
    <body>
        <div style="width:280px; padding:10px;">
            <h5>Price Range:</h5>
            <div id="slider-range"></div>
            <input type="text" id="amount" class="ttt" style="margin-left:70px">
            <div id="response"></div>
        </div>
    </body>
</html>

我的get_data代码是:

<table>
    <tr>
        <th>Name</th>
        <th>Address</th>
        <th>City</th>
    </tr>
    <?php
    $conn = mysql_connect("localhost", "root", "") or die(mysql_error());
    mysql_select_db("details", $conn) or die(mysql_error());
    $formprice = $_POST['from'];
    $toprice = $_POST['to'];

    $query = "SELECT * from details where hallcapacity between '" . $formprice . "' and '" . $toprice . "'";
    $res_cart = mysql_query($query);
    while ($row_cart = mysql_fetch_array($res_cart)) {
        ?>
        <tr>
            <td><?php echo $row_cart['name']; ?></td>
            <td><?php echo $row_cart['address']; ?></td>
            <td><?php echo $row_cart['city']; ?></td>
        </tr>
        <?php
    }
    ?>
</table>

在成功功能之后的索引页面中,我使用了window.location函数,但在移动幻灯片时,它会重定向到其他页面而没有获取值。请提供任何建议。

3 个答案:

答案 0 :(得分:2)

如果您只想通过window.location将参数传递到其他页面,可以执行以下操作:

winndow.location.href = 'new_page.php?param1=one&param2=two&...';

使用php获取新页面中的参数:

$ param1 = $ _GET [&#39; paramm1&#39;];    $ param2 = $ _GET [&#39; paramm2&#39;];

答案 1 :(得分:0)

在AJAX成功之后你将如何尝试重定向:

var a = data;

window.location.href ="window.location.href="index.php?data="+a";

在index1.php中

<?php 
if (isset($_GET["data"])){
echo $_GET['data'];
}
?>

答案 2 :(得分:0)

由于您需要在另一个页面中显示数据,因此您无需使用ajax。您可以通过url传递所需的参数并获取参数的值在相应的页面功能中。你可以redirect这样

slide: function( event, ui ) {
    $( "#amount" ).val( "Rs." + ui.values[ 0 ] + " - Rs." + ui.values[ 1 ] );        
    var queryString="firstArg="+fArg+"&secondArg=sArg";
    window.location.href="/ControllerName/Classificate/?"+queryString
}

在相应的页面控制器中从url获取参数并处理result.Hope,这有助于交配.. :)