Javascript AJAX JQuery POST不工作

Javascript AJAX JQuery POST不工作,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我无法读取PHP脚本中预期的POST值。请求通过它只是没有将数据正确地序列化到所有请求的POST方面。代码数量适中,我希望你们跳过这个,而不是否决它,因为我迫切需要帮助,我知道你们中的许多人不希望花时间回答这么长的问题 HTML: 您忘记了所有表单元素的name属性。它们仍然是.serialize所必需的,因此它可以为post变量指定其值的名称。因此,请调整表单元素: <form action="/core/enrollphase1.php" id="enrollPhase1" metho

我无法读取PHP脚本中预期的POST值。请求通过它只是没有将数据正确地序列化到所有请求的POST方面。代码数量适中,我希望你们跳过这个,而不是否决它,因为我迫切需要帮助,我知道你们中的许多人不希望花时间回答这么长的问题

HTML: 您忘记了所有表单元素的name属性。它们仍然是.serialize所必需的,因此它可以为post变量指定其值的名称。因此,请调整表单元素:

<form action="/core/enrollphase1.php" id="enrollPhase1" method="post" name="enrollPhase1">
    <select .. id="SecurityQuestion1" name="SecurityQuestion1"></select>
    <input  .. id="SecurityAnswer1"   name="SecurityAnswer1" type="text">
    <select .. id="SecurityQuestion2" name="SecurityQuestion2"></select>
    <input  .. id="SecurityAnswer2"   name="SecurityAnswer2" type="text">
    <input .. type="submit" value="Continue">
</form>
顺便说一句,您在jquery中使用选择器有点奇怪。我建议您仅针对这些行更改为以下内容:

$("#enrollPhase1").submit(function(event) {
    ....
    $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        data: $(this).serialize(),
    ....

当您控制台.logformData时,您会得到什么?我不是jquery专家,但$EnrollPhase1Form不应该是EnrollPhase1Form或$EnrollPhase1Form,例如EnrollPhase1Form.attr'method'执行$EnrollPhase1Form似乎是传递选择器或选定元素的错误方式。我也注意到了这个的一些用法。当那些应该是$this.something的时候。还缺少一些分号,但这不应该影响POST Varshow。在调整任何内容之前,请为所有表单元素指定一个名称=some_var_name。即使使用serialize,您仍然需要post变量的名称。错误报告显示了什么?var_垃圾场的结果是什么?感谢现场!我的问题是我不知道如何真正调试JS,所以如果您有任何关于这方面的指针,那将是非常棒的!调试js是一个多头hydra;最好的工具就在您的web浏览器中许多浏览器,而不是所有的!。打开“开发人员控制台/工具”,它为您提供了一套不错的工具。您可以通过调用console.log“something ocated!”;,查看发送的内容、接收的内容、原始数据、插值数据,甚至控制台喷出的内容;。在PHP中,您只需要处理传入的数据。。。因此,您的var_转储几乎是您在那里可以做的所有事情。。。我是不是把它塞进了。。。它让我知道我错过的任何明显的事情;我已经使用了开发者控制台,但很多时候它们并不完美。谢谢!我真的很感谢你的帮助!
// Do we have
var_dump($_POST);
<form action="/core/enrollphase1.php" id="enrollPhase1" method="post" name="enrollPhase1">
    <select .. id="SecurityQuestion1" name="SecurityQuestion1"></select>
    <input  .. id="SecurityAnswer1"   name="SecurityAnswer1" type="text">
    <select .. id="SecurityQuestion2" name="SecurityQuestion2"></select>
    <input  .. id="SecurityAnswer2"   name="SecurityAnswer2" type="text">
    <input .. type="submit" value="Continue">
</form>
$_POST['SecurityQuestion1']
$_POST['SecurityAnswer1']
$_POST['SecurityQuestion2']
$_POST['SecurityAnswer2']
$("#enrollPhase1").submit(function(event) {
    ....
    $.ajax({
        type: $(this).attr('method'),
        url: $(this).attr('action'),
        data: $(this).serialize(),
    ....