澄清如何使jquery、ajax和php交互,以实现表单提交和其他控件

澄清如何使jquery、ajax和php交互,以实现表单提交和其他控件,php,jquery,ajax,form-submit,Php,Jquery,Ajax,Form Submit,因此,正如标题所说,我需要澄清如何使jquery、ajax和php交互,以实现表单提交和其他控件 这是我第一次使用jquery、ajax和php进行web体验,当然,我也面临一些问题 我描述了我正在尝试做的事情 基本上,我有一个带有注册表的索引页: <form id="formRegistration" action="registration_success.php" method="post"> <p id="ptxtFullName"> &l

因此,正如标题所说,我需要澄清如何使jquery、ajax和php交互,以实现表单提交和其他控件

这是我第一次使用jquery、ajax和php进行web体验,当然,我也面临一些问题

我描述了我正在尝试做的事情

基本上,我有一个带有注册表的索引页:

<form id="formRegistration" action="registration_success.php" method="post">
    <p id="ptxtFullName">
        <input id="txtFullName" name="txtFullName" class="textbox" placeholder="Insert you full name" type="text" />
    </p>

    <p id="pTxtEmail">
       <input id="txtEmail" name="txtEmail" class="textbox" placeholder="Insert an email" type="text" />
    </p>

    <p id="pTxtPassword">
    <input id="txtPassword" name="txtPassword" class="textbox" placeholder="Choose a password" type="password" />
    </p>

    <p id="pTxtPasswordConfirmation">
    <input id="txtPasswordConfirmation" name="txtPasswordConfirmation" class="textbox" placeholder="Confirm your password" type="password" />
    </p>

    <p id="pBtnRegistration">
    <input id="btnRegistration" type="submit" value="Register!" />
    </p>
</form>
注意,jquery文件,当我添加ajax调用时,它停止工作,而如果我不添加ajax调用,它工作得很好

然后,这里是我的php文件,名为process_registration.php,它应该控制电子邮件是否已经在使用,然后,将经过验证的输入数据插入MySQL数据库:

<?php
就这些

显然它不起作用了

也许我在这件事上采取了完全错误的方法


提前感谢您的好意和回答。

ajax调用中的数据属性应该是一个对象

data : {
    "fullName" : fullName,
    "email" : email
}
尝试使用以下方法:

jQuery(document).ready(function($) {
    $('#formRegistration').submit(function() {
        e.preventDefault();

        // Perform form validation here and return from this function
        // if you do not want to submit the form.

        $.ajax({
            type : "POST",
            url : "process_registration.php",
            data : $(this).serialize(),
            dataType : 'html',
            success : function() {
                alert("Ok");
            },
            error : function() {
               alert("Error");
            }
        });
    });
});
这将注册一个事件处理程序,在提交表单时调用该事件处理程序。调用
e.preventDefault()
会阻止常规表单提交。然后处理程序通过ajax发布表单


不过,您必须更改输入元素的名称,因为它们需要与PHP代码正在查找的名称相匹配(例如,将“txtFullName”更改为“fullName”)。

尝试使用PDO而不是mysql_查询函数。好的,终于可以了!非常感谢!你真的救了我,再次感谢。@DTLTE-不客气。如果有帮助,您应该单击复选标记来选择答案。
data : {
    "fullName" : fullName,
    "email" : email
}
jQuery(document).ready(function($) {
    $('#formRegistration').submit(function() {
        e.preventDefault();

        // Perform form validation here and return from this function
        // if you do not want to submit the form.

        $.ajax({
            type : "POST",
            url : "process_registration.php",
            data : $(this).serialize(),
            dataType : 'html',
            success : function() {
                alert("Ok");
            },
            error : function() {
               alert("Error");
            }
        });
    });
});