没有收到来自 AngularJS $http.post 的回调
Not getting callback from AngularJS $http.post
我在 Angular $http.post 调用中没有收到 success/fail 处理程序的任何回调。
我的服务器端是 .NET MVC 控制器;控制器正在获取文件并在那里正常工作,我已经对其进行了调试,因此 POST 调用本身似乎工作正常。客户端 javascript 端没有回调。
我有一个基本的作用域函数...
$scope.uploadFile = function(files) {
var fd = new FormData();
fd.append("file", files[0]);
$http.post('api/clubs/upload', fd, {
withCredentials: true,
headers: {'Content-Type': undefined },
transformRequest: angular.identity
})
.then(function (response) {
alert("Success:" + result.status);
}, function (response) {
alert("Failuer: " + result.status);
});
};
两个警报都没有弹出。
服务器端控制器是...
string root = HttpContext.Current.Server.MapPath("~/Upload_Data");
var provider = new MultipartFormDataStreamProvider(root);
try
{
// Read the form data.
await Request.Content.ReadAsMultipartAsync(provider);
// This illustrates how to get the file names.
foreach (MultipartFileData file in provider.FileData)
{
Trace.WriteLine(file.Headers.ContentDisposition.FileName);
Trace.WriteLine("Server file path: " + file.LocalFileName);
}
// Show all the key-value pairs.
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
Trace.WriteLine(string.Format("{0}: {1}", key, val));
}
}
return Request.CreateResponse(HttpStatusCode.OK);
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
文件正在上传并存储在 "Upload_Data" 文件夹中。
为什么客户端没有回调?
在您调用 result.status
的范围内,但您的参数名称是 response
。修正名称并尝试可能存在语法错误。
我在 Angular $http.post 调用中没有收到 success/fail 处理程序的任何回调。 我的服务器端是 .NET MVC 控制器;控制器正在获取文件并在那里正常工作,我已经对其进行了调试,因此 POST 调用本身似乎工作正常。客户端 javascript 端没有回调。
我有一个基本的作用域函数...
$scope.uploadFile = function(files) {
var fd = new FormData();
fd.append("file", files[0]);
$http.post('api/clubs/upload', fd, {
withCredentials: true,
headers: {'Content-Type': undefined },
transformRequest: angular.identity
})
.then(function (response) {
alert("Success:" + result.status);
}, function (response) {
alert("Failuer: " + result.status);
});
};
两个警报都没有弹出。
服务器端控制器是...
string root = HttpContext.Current.Server.MapPath("~/Upload_Data");
var provider = new MultipartFormDataStreamProvider(root);
try
{
// Read the form data.
await Request.Content.ReadAsMultipartAsync(provider);
// This illustrates how to get the file names.
foreach (MultipartFileData file in provider.FileData)
{
Trace.WriteLine(file.Headers.ContentDisposition.FileName);
Trace.WriteLine("Server file path: " + file.LocalFileName);
}
// Show all the key-value pairs.
foreach (var key in provider.FormData.AllKeys)
{
foreach (var val in provider.FormData.GetValues(key))
{
Trace.WriteLine(string.Format("{0}: {1}", key, val));
}
}
return Request.CreateResponse(HttpStatusCode.OK);
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
文件正在上传并存储在 "Upload_Data" 文件夹中。
为什么客户端没有回调?
在您调用 result.status
的范围内,但您的参数名称是 response
。修正名称并尝试可能存在语法错误。