【发布时间】:2015-02-11 18:57:02
【问题描述】:
我正在从事一个业余项目(通常是一名设计师,所以对 php 不太熟悉 - 请监督所有或任何冗余代码),试图学习新事物。现在我遇到了一个我似乎不太了解的问题。 我有一个 index.php 用于显示 data.php 中的随机句子,这很好用——但是我希望能够在必要时为不同的人整理出特定类型的句子。这是通过包含 Designer、Illustrator 和 Developer 的下拉菜单完成的。
例如,如果您从下拉菜单中选择“开发者”,则页面会重新加载并在 URL 中显示 index.php?yrke=developer。这一切都很好,正如预期的那样,当我从 data.php 回显 $_GET['yrke']; 时,它会在第一次加载时显示文本“developer”,但是在单击 randomizerButton 按钮时(请注意,内容是从 data.php 加载的单击此按钮时不刷新浏览器中的页面)$_GET['yrke']; 似乎无法读取 url 中的值(将$_GET['yrke']; 放入index.php 显然无论如何都可以,但我需要访问data.php 中的 url 变量)。
如果有办法做到这一点,同时保持“update-content-without-browser-refresh”功能很棒,另一个最简单的解决方案可能是删除所说的“update-content-without-browser-刷新”并进行良好的旧刷新,从而解决问题 - 但为什么要让它那么容易呢?
index.php (摘录)
<button data-href="data.php" class="randomizerButton">Randomize sentences</button>
<form action="index.php" method="get">
<select name="yrke" onchange="this.form.submit()">
<option value="designer"<?=$_GET['yrke'] == 'designer' ? ' selected="selected"' : '';?>>Designer</option>
<option value="illustrator"<?=$_GET['yrke'] == 'illustrator' ? ' selected="selected"' : '';?>>Illustrator</option>
<option value="developer"<?=$_GET['yrke'] == 'developer' ? ' selected="selected"' : '';?>>Developer</option>
</select>
</form>
<?php include('data.php'); ?>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('button.randomizerButton').click(function(){
scriptUrl = $(this).attr('data-href');
$.post(scriptUrl, function(response){
$('#results').html(response);
});
});
});
</script>
data.php (摘录)
echo $_GET['yrke'];
【问题讨论】:
标签: javascript php ajax variables url