Php 如何在不刷新页面的情况下更改浏览器地址栏的URL,使其保持在同一页面上?
我想不间断地播放背景音乐。URL的更改(例如index.php?step1)会刷新我的index.php页面,即使我在index.php上翻页。请帮助我如何防止我的索引页刷新或不间断地播放音乐 在index.php中Php 如何在不刷新页面的情况下更改浏览器地址栏的URL,使其保持在同一页面上?,php,html,ajax,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"&g
<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();
}
?>
刷新my index.php如果您想按照我的想法做,可以使用Javascript和AJAX调用来分离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
<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>
$(文档).ready(函数(){
$('.step按钮')。单击(函数(e){
e、 预防默认值();
var step=$(this.attr('name');
var postData={
步骤:步骤,
行动:“stepFuntion”,
}
$.ajax({
类型:“POST”,
url:'ajax.php',
数据:步骤,
成功:功能(数据)
{
//要返回的数据
控制台日志(数据);
}
})
})
})
ajax.php
<?php
if ( isset($_REQUEST['stepFuntion']) )
{
$function = call_user_func( $_REQUEST['step'].'_function()' );
$return = json_encode( $function );
die($return);
}
?>
我想这会让你得到你想要的结果。没有办法精确地完成你所指示的。由于您使用php呈现内容,因此需要刷新整个页面,或者设置一个新的端点,通过javascript通过ajax进行请求,以提供所需的任何内容。也就是说,你的问题相当广泛,你可能想读一读