通过AJAX将对象从javascript传递给PHP,php中未定义的变量?

时间:2017-11-11 00:29:43

标签: javascript php jquery ajax

我正在构建注册表格模式,点击按钮后,javascript会向页面regajax.php发送带有表单内容的ajax请求。我的代码如下,目前我只使用regajax.php进行故障排除,尽管error_log仍然表示变量未定义。

基本上,我想将obj发送到regajax.php以检查错误,并在成功提交时插入我的数据库。 (在关闭模态之前,不刷新页面)。

我通过无数的stackoverflow帖子和互联网资源进行了研究,以找到我的问题的答案。许多人建议使用我目前正在尝试使用的JSON.stringify()

注意:在我的源代码中,ajax脚本位于<body>的表单下方。

&#13;
&#13;
$("#regButton").click(function(e) {
  e.preventDefault();
  var obj = {
    fname: $('#fname').val(),
    lname: $('#lname').val(),
    email: $('#email').val(),
    pass: $('#password').val(),
    mobile: $('#mobile').val(),
    street: $('#street').val(),
    city: $('#city').val(),
    post: $('#post').val(),
    state: $('#state').val(),
    country: $('#country').val()
  }
  $.ajax({
    method: 'POST',
    url: 'regajax.php',
    dataType: 'json',
    data: JSON.stringify(obj),
    success: function(response) {
      document.getElementById('error') = response;
    }
  });
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
  <div>
    <div class="error"></div>
    <div class="modal-form-left">
      <input type="text" id="fname" placeholder="First Name" required><br>
      <input type="text" placeholder="Last Name" id="lname" required><br>
      <input type="email" placeholder="Email" id="email" onKeyUp="checkEmail();" required value=""><br>
      <input type="password" placeholder="Password" name="pass" id="password" onKeyUp='checkPass();' required pattern="(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"><br>
      <input type="password" placeholder="Confirm Password" id="confirm_password" onKeyUp="checkPass();" required pattern="(?=^.{6,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"><br>
      <input type="submit" id="regButton" value="Register">
    </div>
    <div class="modal-form-right">
      <input type="text" placeholder="Phone" id="mobile" required><br>
      <input type="text" placeholder="Street" id="street" required><br>
      <input type="text" placeholder="City" id="city" required><br>
      <input type="text" placeholder="Post Code" id="post" name="post" required><input type="text" placeholder="State" name="state" id="state" required><br>
      <input type="text" placeholder="Country" id="country" required><br>
    </div>
  </div>
</form>
&#13;
&#13;
&#13;

<?php
    $fname = $_POST["fname"];
    error_log($fname, 3, "./error_log");
?>

0 个答案:

没有答案