在尝试通过AJAX POST请求将数据从JavaScript文件发送到PHP后,我当前收到“未定义索引”错误- $ _ POST空了。记住我已经探索了所有其他关于该主题的Stack Overflow问题,但都无济于事,这是正在发生的事情:
我有一个调查表-该调查表的答案保存在名为“ all_answers”的数组中。当我按下问卷的“完成”按钮时,我会调用一个名为“ saveAnswersInDatabase()”的函数,该函数基本上会发出POST类型的AJAX请求。与该POST请求一起,我发送了一些数据,这些数据是我存储在前面提到的“ all_answers”数组中的问卷的答案。
此POST请求是对一个名为“ questionnaire_php”的PHP文件发出的,在该文件中,我访问$_POST
超全局变量来首先确定所请求的操作,然后执行SQL查询以对{{1} }数据库中“答案”表中问卷的答案。
我当前遇到错误INSERT
错误。
我试图,但无济于事:
Undefined index: requested_action
和dataType
中的json
; 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为空!