我正在开发一个具有以下 URL 结构的网站:
- http://www.mywebsite.com/是默认主页(与/index.php?page=1 相同)
- http://www.mywebsite.com/index.php?page=2
- http://www.mywebsite.com/index.php?page=3
- 等等...
我正在尝试使用 JavaScript 函数将当前页码从 index.php
传递到 myphpscript.php
:
<script>
function swapContent(filterchoice){
var PageNum = <?php echo json_encode($_GET["page"]); ?>;
var url = "myphpscript.php";
$.post(url, {contentVar: filterchoice, page : PageNum}, function(data){
$("#myDiv").html(data).show();
});
}
</script>
在 myphpscript.php
上,为 http://www.mywebsite.com/ 添加以下条件时获取 $page_number=1
的情况:
if (isset($_POST['page'])) {
$page_number = $_POST["page"];
}
else {
$page_number = 1;
}
echo $page_number;
它似乎没有回显
默认主页的任何内容,而是回显URL中带有page=
的所有其他页面的正确页码。但是,即使对于默认主页,isset
条件似乎也能在 index.php
上正常工作:
if (isset($_GET["page"])) {
$page_number = $_GET["page"];
}
else {
$page_number = 1;
}
您能否解释一下为什么它适用于第二种情况而不是第一种情况,以及如果我是,如何在 myphpscript.php
中设置 $page_number=1
在默认主页上。
最佳答案
您必须检查第一个脚本中的$_GET["page"]
是否存在。如果没有提供页面(例如在您的主页中),那么您的脚本将如下所示:
<script>
function swapContent(filterchoice){
var PageNum = ;
//...
}
</script>
这非常非常糟糕。
你应该这样修复它:
var PageNum = <?= $_GET["page"] ? $_GET["page"] : 1 ?>;
这是一个快捷方式条件语句。它说:
if
$_GET["page"]
exists, output it. Otherwise, output1
关于javascript - 使用 JavaScript 函数将页码从一个 PHP 文件传递到另一个 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770731/