我的问题
我创建了一个基于与我的页面控制器相同型号的工厂。 我遇到的问题是$ scope.model没有进入工厂,因此没有进入webAPI服务,而webAPI服务当然会返回错误,因为webAPI方法的对象是空的。
仅供参考:在下面的代码app
中使用angular正确定义。
app.controller('SFOptionsPageController', function ($scope, $http, $location, sfNgLabelsService, saveOptionsDataService) {
$scope.model = { name: 'Me', lastName: 'Last', address: { street: 'streetName', number: 458 }}
[A bit further in my code...]
// Form submit handler that sents my model to the factory, or at least it should.
$scope.submit = function(form) {
if ($scope.form.$valid) {
saveOptionsDataService.post(
$scope.model,
function (result, getResponseHeaders) { },
function (response) { }
);
window.location = $scope.nextPage;
}
else {
$scope.submitted = true;
}
}
上面的代码正确地调用我的工厂,这不是我唯一的工厂,所以我认为其中存在问题?:
'use strict';
app.config(function ($httpProvider) {
$httpProvider.defaults.headers.common.Accept = 'application/json;charset=utf-8,*/*;q=0.9';
});
app.factory('savePersonalDetailsDataService', function ($resource) {
return $resource('/bll/api/ControllerName/savepersonaldetails', {}, {
post: {
method: 'POST'
}
});
});
app.factory('saveOptionsDataService', function ($resource) {
return $resource('/bll/api/ControllerName/saveoptionsdata', { }, {
post: {
method: 'POST'
}
});
});
上面的工厂调用我的.NET webAPI方法,但是那个方法返回一个错误,说明我的对象是空的,当然是不允许的。
我的问题
为什么我的模型没有通过,即使我在检查Chrome的调试器时在请求有效负载中看到它? 我该如何解决这个问题?