Angular JSON帖子只发送一个json数组项

时间:2017-04-12 20:01:07

标签: javascript angularjs json http post

我写了一个角度测验,我试图将测验结果发送到数据库进行处理。我的$ 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对象的最后一项而不是完整列表。

我哪里出错?

1 个答案:

答案 0 :(得分:0)

通过Angular使用$http服务时,datamethod: "POST"一致,paramsmethod: "GET"一致

更改要传递给$http服务的配置对象的属性,如下所示:

$http({
    url: quizapp.ajax_url,
    method: "POST",
    data: data // <-- data here, not params since using POST
}).then(function () { /*...*/ }));