我寫了一個有角度的測驗,我試圖將測驗結果發送到數據庫進行處理。我的$ http呼叫如下:Angular JSON post只發送json數組的一個項目
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對象的最後一項,而不是完整列表。
我在哪裏出了錯?
我想這可能是因爲你正在使用'params'方法:「POST」'。嘗試在你的'$ http'配置對象上說'data:data'而不是params,看看它是否適用於你。 – mhodges
數據:數據完美。感謝mhodges我拉着頭髮 –
哦,我的天哪,你不知道我做了多少次同樣的事情!哈哈很高興爲你工作!我將爲未來的訪問者發佈一個答案 – mhodges