在控制器A中,我有一个方法,点击提交按钮将数据存储在MVC控制器操作方法中。
$scope.groupmembership.submit = function() {
if ($scope.groupMembershipUserInputForm.$valid) {
$scope.groupmembershipUploadParams = {
"chapterCode": $scope.groupmembership.chapterCode,
"createdDate": $filter('date')(new Date($scope.groupmembership.createdDate), 'MM/dd/yyyy'),
"endDate": $filter('date')(new Date($scope.groupmembership.endDate), 'MM/dd/yyyy')
};
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit(
'validateUploadedFilesEvent',
$scope.groupmembershipUploadParams
);
});
}
}
UploadDataServices.getGroupMembershipUploadParams
getGroupMembershipUploadParams: function(uploadParams){
$http.post(BasePath + "uploadNative/setGroupMembershipUploadParams", uploadParams, {
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
}
}).success(function (result) {
console.log(result);
})
},
uploadNativeMVC控制器
public async Task<JsonResult> setGroupMembershipUploadParams(GroupMembershipUploadParams arg)
{
TempData["GroupMembershipUserUplaodDetails"] = arg; //Save the data for later use
var result = new JsonResult();
result.Data = "Success"; // Return a Excel Upload Limit Exceeded
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
这个保存的数据我希望在后续调用中由MVC控制器中的其他方法重用。
我不希望任何回复但只是确保在保存MVC中的数据后执行angular中的methodB(),我确实在获得成功响应后触发了一个事件
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
});
我知道MVC创建中的结果是冗余,
var result = new JsonResult();
result.Data = "Success"; // Return a Excel Upload Limit Exceeded
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
但如何确保
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
仅在存储tempData后触发。
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result)
给我一个错误。什么可以做得更整齐?我知道有很多冗余的代码行。
提前致谢。
答案 0 :(得分:4)
如果您的方法中没有return
,则会返回undefined
。这就是你收到错误的原因。
修正:
getGroupMembershipUploadParams: function(uploadParams){
return $http.post(
BasePath + "uploadNative/setGroupMembershipUploadParams",
uploadParams,
{
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
}
})
.success(function (result) {
console.log(result);
});
},