通过 post 提交时 $scope 变为空
$scope becomes empty when submitting via post
我正在尝试使用 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}
});
只有一种情况是可能的。当你设置
var qs = $scope.data; $scope.data 为空。然后你得到 link 到空变量。所以第一点是像这样使用post
var qs = $scope.data;
$http({
url: '/admin/exam/questions/store',
method: 'POST',
data: {questions: **$scope.data**, _token:token}
});
第二点是调试 :) 但我认为我的第一种方法会有所帮助
问题在于您为 $scope.q
选择的起始数据类型。它被初始化为一个数组,如 $scope.q = [];
。然后,您将向该数组添加属性,例如在您的问题输入控件中使用此模型绑定:ng-model="q.question"
。但是当 $scope.q
序列化为 JSON 时,那些额外的属性将被忽略。
不是将 q
初始化为数组,而是将其初始化为对象,例如:$scope.q = {}
.
您可以通过在视图中添加以下表达式来诊断 q
对象的 JSON 表示:{{q | json}}
.
我正在尝试使用 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}
});
只有一种情况是可能的。当你设置 var qs = $scope.data; $scope.data 为空。然后你得到 link 到空变量。所以第一点是像这样使用post
var qs = $scope.data;
$http({
url: '/admin/exam/questions/store',
method: 'POST',
data: {questions: **$scope.data**, _token:token}
});
第二点是调试 :) 但我认为我的第一种方法会有所帮助
问题在于您为 $scope.q
选择的起始数据类型。它被初始化为一个数组,如 $scope.q = [];
。然后,您将向该数组添加属性,例如在您的问题输入控件中使用此模型绑定:ng-model="q.question"
。但是当 $scope.q
序列化为 JSON 时,那些额外的属性将被忽略。
不是将 q
初始化为数组,而是将其初始化为对象,例如:$scope.q = {}
.
您可以通过在视图中添加以下表达式来诊断 q
对象的 JSON 表示:{{q | json}}
.