我写了一个角度测验,我试图将测验结果发送到数据库进行处理。我的$ http电话如下:
function saveQuiz() {
quizObj.isSaving = true;
var data = {
id: quiz_id,
action: 'quiz_data',
part: 'save_quiz',
score: quizObj.score,
passed: quizObj.passed,
completed: quizObj.completed,
percentage: quizObj.perc,
time_spent: $filter('formatTimer')(quizObj.counter),
questions: quizObj.quiz.questions
};
console.log(data);
$http({
url: quizapp.ajax_url,
method: "POST",
params: data
})
.then(function(response) {
console.log(response.data);
quizObj.isSaving = false;
},
function(response) { // optional
// failed
console.log(response);
});
}
注意我传递了一系列json问题作为quizObj.quiz.questions。 服务器端的问题是$ _POST [' questions']计算到quizObj.quiz.questions json对象的最后一项而不是完整列表。
我哪里出错?
答案 0 :(得分:0)
通过Angular使用$http
服务时,data
与method: "POST"
一致,params
与method: "GET"
一致
更改要传递给$http
服务的配置对象的属性,如下所示:
$http({
url: quizapp.ajax_url,
method: "POST",
data: data // <-- data here, not params since using POST
}).then(function () { /*...*/ }));