Return 在 angular js 中将值返回给控制器
Return Value back to controller in angular js
如果文件的大小超出范围,我想将数据从服务发送回我的控制器我该如何实现这里是我的代码。
myApp.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function (fileData, uploadUrl) {
if (fileData.size > 50000000) {
var fd = new FormData();
fd.append('file', fileData);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.success(function () {
})
.error(function () {
});
}
else {
return "Image size is more than 5MB";
}
}
}]);
您应该使用 $q 服务来延迟执行请求,例如 -
myApp.service('fileUpload', ['$http','$q', function ($http,$q) {
this.uploadFileToUrl = function (fileData, uploadUrl) {
if (fileData.size > 50000000) {
var fd = new FormData();
fd.append('file', fileData);
var deferred = $q.defer();
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.then(function (result) {
deffered.resolve(result);
},function(error) {
deffered.reject();
});
return deferred.promise;
}
else {
return "Image size is more than 5MB";
}
}
}]);
有关更多信息,请查看以下链接-
https://docs.angularjs.org/api/ng/service/$q
https://thinkster.io/a-better-way-to-learn-angularjs/promises
如果文件的大小超出范围,我想将数据从服务发送回我的控制器我该如何实现这里是我的代码。
myApp.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function (fileData, uploadUrl) {
if (fileData.size > 50000000) {
var fd = new FormData();
fd.append('file', fileData);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.success(function () {
})
.error(function () {
});
}
else {
return "Image size is more than 5MB";
}
}
}]);
您应该使用 $q 服务来延迟执行请求,例如 -
myApp.service('fileUpload', ['$http','$q', function ($http,$q) {
this.uploadFileToUrl = function (fileData, uploadUrl) {
if (fileData.size > 50000000) {
var fd = new FormData();
fd.append('file', fileData);
var deferred = $q.defer();
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: { 'Content-Type': undefined }
})
.then(function (result) {
deffered.resolve(result);
},function(error) {
deffered.reject();
});
return deferred.promise;
}
else {
return "Image size is more than 5MB";
}
}
}]);
有关更多信息,请查看以下链接-
https://docs.angularjs.org/api/ng/service/$q https://thinkster.io/a-better-way-to-learn-angularjs/promises