我正在尝试使用post提交$ scope.data。 $ scope.data在传递给变量时变为空。
var token = angular.element(document.querySelector('meta[name="csrf-token"]')).attr('content');
console.log("Questions: ");
console.log($scope.questions);
var qs = $scope.questions;
$http({
url: '/admin/exam/questions/store',
method: 'POST',
data: {questions: qs, _token:token}
});
答案 0 :(得分:1)
问题在于您选择$scope.q
的起始数据类型。它被初始化为一个数组,如$scope.q = [];
。然后,您将向该数组添加属性,例如使用此模型绑定的问题输入控件:ng-model="q.question"
。但是当$scope.q
被序列化为JSON时,这些额外的属性将被忽略。
不是将q
初始化为数组,而是将其初始化为对象,例如:$scope.q = {}
。
您可以通过在视图中添加以下表达式来诊断q
对象的JSON表示:{{q | json}}
。
答案 1 :(得分:0)
只有一种情况可行。当你设置 var qs = $ scope.data; $ scope.data为空。然后你得到了空变量的链接。所以第一点是使用像这样的帖子
var qs = $scope.data;
$http({
url: '/admin/exam/questions/store',
method: 'POST',
data: {questions: **$scope.data**, _token:token}
});
第二点是调试:)但我认为我的第一种方法将有所帮助