如何在没有页面刷新的情况下更改浏览器地址栏的URL,保留在同一页面上?

时间:2016-01-26 15:52:30

标签: php html ajax

我想不间断地播放背景音乐。 URL中的更改(例如index.php?step1)会刷新我的 index.php 页面,即使我在index.php上重新启动。请帮助我如何防止我的索引页面不间断地刷新或播放音乐。

index.php

中的

<audio  controls preload="auto" >
<source src="bak_music/back_music.mp3"  ></source>
</audio>

 <a href="?step1">step 1</a>

    <?php 
    if($_SERVER['QUERY_STRING']=='step1')
    {
    step1_function();
    }
    ?>

刷新我的index.php

1 个答案:

答案 0 :(得分:0)

如果你正在尝试做我认为你可以使用Javascript并执行AJAX调用来分离PHP代码并在需要时返回数据。

像这样。

的index.php

<script src="https://code.jquery.com/jquery-2.2.0.js"></script>

<a href="#" class="step-button" name="step1">Step 1</a>
<a href="#" class="step-button" name="step2">Step 2</a>

<script>

$(document).ready( function(){

    $('.step-button').click(function( e ){
        e.preventDefault();

        var step = $(this).attr('name');

        var postData = {
            step: step,
            action: 'stepFuntion',
        }

        $.ajax({
            type: "POST",
            url: 'ajax.php',
            data: step,
            success: function( data )
            {
                // Data to return
                console.log(data);
            }
        })
    })

})

</script>

ajax.php

<?php

if ( isset($_REQUEST['stepFuntion']) )
{

    $function = call_user_func( $_REQUEST['step'].'_function()' );
    $return = json_encode( $function );

    die($return);
}

?>

我认为这会让你得到你想要的结果。