我有一个包含 80 多个动态生成的输入框的页面,当用户将表单提交到另一个 .php 页面并且其中一个输入包含一个非数字值时,它将使用以下方法将它们发送回输入页面: <?php header("Location: javascript:history.back()"); ?>
,同时它在 session 变量中注册错误。我使用 javascript:history.back() 的原因是因为它存储了表单中的值,即使您按下后退按钮也是如此。但是因为它正在缓存页面,所以我无法在同一个 .php 脚本中输出错误,所以我添加了一个元素和一些 Ajax 代码。 Ajax 代码检索另一个名为 error.php 的文件,其中包含:
<?php
header("Cache-Control: no-cache");
session_start();
if(isset($_SESSION['error']))
{
echo $_SESSION['error'];
unset($_SESSION['error']);
}
?>
这是在页面自行加载时检索到的,而不是在 history.back()
时检索到的。被使用了,它看起来像下面没有触发:
<script type="text/JavaScript">
$(document).ready(function(){
$("#error p").load("error.php");
});
</script>
有什么想法吗?
谢谢,
贾斯汀
最佳答案
通常不建议使用 header("Location: javascript:history.back()")
。
使用绝对路径即
header('位置:/forms/input.php');
关于javascript - 当按下后退按钮时让 jQuery 触发 Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369881/