在试图将我的文件上传到服务器时,我收到了TypeError: $http(...).success is not a function(…)
的错误消息
角度文件更改代码
$scope.ChechFileValid = function (file) {
debugger;
var isValid = false;
if ($scope.SelectedFileForUpload != null) {
if ((file.type == 'image/png' || file.type == 'image/jpeg' || file.type == 'image/gif') && file.size <= (512 * 1024)) {
$scope.FileInvalidMessage = "";
isValid = true;
}
else {
$scope.FileInvalidMessage = "Selected file is Invalid. (only file type png, jpeg and gif and 512 kb size allowed)";
}
}
else {
$scope.FileInvalidMessage = "Image required!";
}
$scope.IsFileValid = isValid;
};
这是我的文件提交按钮代码
$scope.SaveFile = function () {
$scope.IsFormSubmitted = true;
$scope.Message = "";
$scope.ChechFileValid($scope.SelectedFileForUpload);
if ($scope.IsFormValid && $scope.IsFileValid) {
FileUploadService.UploadFile($scope.SelectedFileForUpload, $scope.FileDescription).then(function (d) {
alert(d.Message);
ClearForm();
}, function (e) {
alert(e);
});
}
else {
$scope.Message = "All the fields are required.";
}
};
这是我的工厂代码
fac.UploadFile = function (file, description) {
var formData = new FormData();
formData.append("file", file);
formData.append("description", description);
var defer = $q.defer();
return $http({
url: 'http://localhost:59838/Api/Home/Sales',
data: JSON.stringify(formData),
headers: { 'content-type': 'application/json' },
transformRequest: angular.identity,
method: 'POST',
})
.success(function (d) {
defer.resolve(d);
})
这里出现错误,原因是angular.js:15018可能未处理的拒绝:{“ data”:{“ Message”:“未找到与请求URI'http://localhost:59838/Api/Home/Sales'匹配的HTTP资源。”,“消息
答案 0 :(得分:0)
您得到的是 $ http(...)。成功不是函数(...) 因为自那以后不推荐使用“ .success ”方法,请改用“ .then ”。有关以下链接Check Deprecation notice
的更多信息对于第二个错误,可能是URI不正确的结果,也许您的路线使用了查询参数,例如:http://localhost:59838/Api/Home/Sales? XXXX ,请查看完整错误以获取更多信息信息
ie :(未找到与请求URI匹配的HTTP资源...” (参数 XXXX 是必填项)