无法读取 属性 Angular JS 中未定义的成功
Cannot read property success of undefined in Angular JS
在控制器 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 控制器中的其他方法重新使用此保存的数据。
我不想返回任何响应,只是确保 angular 中的 methodB() 在 MVC 中的数据保存后执行,我确实在获得成功响应后触发了一个事件
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
});
我知道这个 result.data 在 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)
向我抛出错误。有什么可以做得更整齐?我知道有很多冗余代码行。
提前致谢。
如果您的方法中没有 return
,它将变为 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);
});
},
在控制器 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 控制器中的其他方法重新使用此保存的数据。
我不想返回任何响应,只是确保 angular 中的 methodB() 在 MVC 中的数据保存后执行,我确实在获得成功响应后触发了一个事件
UploadDataServices.getGroupMembershipUploadParams(
$scope.groupmembershipUploadParams)
.success(function (result) {
$rootScope.$emit('methodB', $scope.groupmembershipUploadParams);
});
我知道这个 result.data 在 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)
向我抛出错误。有什么可以做得更整齐?我知道有很多冗余代码行。
提前致谢。
如果您的方法中没有 return
,它将变为 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);
});
},