AJAX POST请求中出现“未定义索引”错误,因为$ _POST空了

时间:2019-01-23 10:57:45

标签: javascript php mysql ajax mysqli

在尝试通过AJAX POST请求将数据从JavaScript文件发送到PHP后,我当前收到“未定义索引”错误- $ _ POST空了。记住我已经探索了所有其他关于该主题的Stack Overflow问题,但都无济于事,这是正在发生的事情:

我有一个调查表-该调查表的答案保存在名为“ all_answers”的数组中。当我按下问卷的“完成”按钮时,我会调用一个名为“ saveAnswersInDatabase()”的函数,该函数基本上会发出POST类型的AJAX请求。与该POST请求一起,我发送了一些数据,这些数据是我存储在前面提到的“ all_answers”数组中的问卷的答案。

此POST请求是对一个名为“ questionnaire_php”的PHP文件发出的,在该文件中,我访问$_POST超全局变量来首先确定所请求的操作,然后执行SQL查询以对{{1} }数据库中“答案”表中问卷的答案。

我当前遇到错误INSERT错误。

我试图,但无济于事:

  1. 在我的AJAX POST请求中添加Undefined index: requested_actiondataType中的json
  2. 我的AJAX POST请求的text字段的所有key : value对都用单引号和双引号引起来;

这是代码。

HTML:

data

JS:

    <!-- Questionnaire's conclusion -->
    <div class="row" id="conclusion" style="display: none;">
            <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                    <h6><small class="text-muted">Thank you for successfully completing this questionnaire. You may review your answers by going to the EmoJar page and selecting this content's corresponding circle.</small></h6>

                    <!-- 'Finish' button -->
        <div class="text-center">
                <button type="button" class="btn btn-info btn-sm" id="questionnaire-conclusion-finish-button" onclick="saveAnswersInDatabase()"><i class="fa fa-check icons-style"></i> Finish</button>
        </div>
    </div>
</div>

PHP:

    function saveAnswersInDatabase() {
            // We prepare an AJAX request to save the answers to our questionnaire in the 'answer' table of our 'm4wb' database
            $.ajax({
                    // 'type' determines our request's type ('GET' or 'POST')
            type: "POST",
            // 'url' determines where our request will go to (e.g., a server), or through (e.g., a file)
            url: "php/questionnaire_php.php",
            // 'data' determines what data is to be sent along with our request
            data: {
                "requested_action": "save_answers",
                "question_1": all_answers[0],
                "question_1_1": all_answers[1],
                "question_2": all_answers[2],
                "question_2_1": all_answers[3],
                "question_3": all_answers[4],
                "question_3_1": all_answers[5],
                "bar_chart_colors": all_answers[6],
                "question_4": all_answers[7],
                "question_5": all_answers[8],
                "question_6": all_answers[9],
                "question_6_1": all_answers[10]
            },
            // 'success' determines what happens if our request is successfully fulfilled
            success: function() {
                console.log("The request was successfully fulfilled.");
            },
            // 'error' determines what happens if our request is not successfully fulfilled
            error: function() {
                console.log("The request could not be fulfilled.");
            }
        });
    }

我只是遇到了上述错误,我也不知道为什么。欢迎任何帮助!预先感谢。

PS:我知道我可能是注射的受害者,但这将在以后解决。

编辑:在意识到我在PHP文件中进行的INSERT INTO查询实际上并没有导致向我要插入新数据INTO的表中添加任何数据后,我遇到了这个问题。我很快发现$ _POST为空!

0 个答案:

没有答案