PHP脚本没有通过Ajax获取变量


PHP script not picking up variables through Ajax

我有一个指向POST变量的sign_up.php脚本,比如:

include "index.php";
$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];
$email = $_POST["email"];
$password = password_hash($_POST["password"], PASSWORD_BCRYPT);

其中index.php包含实际标记和ajax代码,如下所示:

<div id=form-div>
<form method=POST action="" >
First Name: <br> <input type=text name=first_name pattern="[a-z]{2,}" required /> <br> <br>
Last Name: <br> <input type=text name=last_name pattern="[a-z]{2,}" required /> <br> <br>
Email: <span id=emailReport></span> <br> <input type=email name=email id=email required /> <br> <br>
Password: <br> <input type=password name=password required pattern=".{6,}" title="Password must be six or more characters" /> <br> <br>
Confirm password: <br> <input type=password name=password required /> <br> <br>
<input type=submit value='sign up' />
</form>
</div>
<script>
    $('form input:last-child').click(function(e){
    e.preventDefault();
    $('#hidden').load("sign_up.php"); // hidden is a display:none div on the same page
});
 </script>

然而,sign_up.php脚本最终不会拾取任何变量,并返回所有这些字段未定义的通知级别警告。不可能选择这样的变量吗?

PS:sign_up.php脚本本身不包含任何输出,只是处理所包含脚本中预期变量的详细信息。奖金:前两个正则表达式模式无法仅匹配两个或多个字母。事实上,它与任何东西都不匹配。

调用.load()时需要发送表单字段。

$("#hidden").load("sign_up.php", $("#form-div form").serialize());