Javascript 从回调中获取数据并将其保存到AngularJS中的变量
下面是我的服务代码,它正在保存图像-Javascript 从回调中获取数据并将其保存到AngularJS中的变量,javascript,ajax,node.js,angularjs,callback,Javascript,Ajax,Node.js,Angularjs,Callback,下面是我的服务代码,它正在保存图像- angular.module("app").service('fileUpload', ['$http', function ($http) { return { uploadFileToUrl: function(file, uploadUrl){ var fd = new FormData(); fd.append('file', file); $http.post(uploadUrl,
angular.module("app").service('fileUpload', ['$http', function ($http) {
return {
uploadFileToUrl: function(file, uploadUrl){
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(response){
return response;
})
.error(function(){
});
}
}
}]);
在我的控制器中我有以下代码-
// Code for Image handling - START
if ($scope.myFile) {
var file = $scope.myFile;
console.log('file is ' + JSON.stringify(file));
var uploadUrl = "/api/fileUpload";
console.log("__FILE UPLOAD INFO__CHECK");
console.log(fileUpload.uploadFileToUrl(file, uploadUrl));
}
// Code for Image handling - END
我希望console.log在console.log(“文件上传信息检查”)之后记录返回数据代码>但在控制台中其未定义
虽然我在控制台中从AJAX请求获得了成功响应-
{
"success": true,
"old_path": "/tmp/ddde0cf3b8a8e4fa83a92b361e814394",
"new_path": "/MYPROJECT_PATH/uploads/ddde0cf3b8a8e4fa83a92b361e814394.png",
"save_image_name": "ddde0cf3b8a8e4fa83a92b361e814394.png"
}
让我知道这里回调的错误是什么?它是异步的,所以应该使用回调函数
angular.module("app").service('fileUpload', ['$http', function ($http) {
return {
uploadFileToUrl: function(file, uploadUrl, successCb, errorCb){
var fd = new FormData();
fd.append('file', file);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function(response){
if(successCb){
successCb(response);
}
})
.error(function(){
if(errorCb){
errorCb();
}
});
}
}
}]);
请在您的答案中添加处理代码,因为这将有助于未来的访问者。。服务代码-处理代码-是否有任何具体原因导致您的否决投票或其在您的血液中?