我想通过 php ajax 提交一个表单并试图保持简单,但它们不可避免地很复杂。
pageA.php
只是一种形式。
pageB.php
正在验证和处理代码。在我创建的这个页面的顶部,$_SESSION['message'] = "";
如果有问题,在页面的末尾可能是$_SESSION['message'] = "Password is too short";
- 例如。我想在pageA.php
div 内显示此消息#message
。
会话在两个页面的顶部开始(session_start();
在pageA
我还有一个微调器 gif,默认情况下是隐藏的(display:none;
),但它应该在(并且只是在)表单处理期间可见。
pageA
.php
<form id="formReg" action="pageB.php" method="post">
. . .
</form>
<img id="spinn" src="spinn.gif" />
<div id="message"></div>
<button id="sub">Register</button>
JS 在底部pageA
:
$("#sub").click( function() {
$("#spinn").show(); // it seems this works, but very shortly
$.post( $("#formReg").attr("action"), $("#formReg").serialize()); // this works (data are stored in the table).
$("#formReg :input").val(''); //this works
$("#spinn").hide();
$("#message").html($_Session["message"]); // doesn't work, of course.
});
在pageB.php
我的底部有:
header("Location: pageA.php");
,以保持访问者pageA
。