我正在开发 ASP.NET MVC 应用程序。我正在使用 Angular JS。现在我正在做的是将数据发布到服务器并从服务器获取 JSON 结果。但我现在的问题是,它向服务器发送数据,但向客户端响应数据或 $http 的成功回调不起作用。但错误回调有效。
我的服务器操作方法
public JsonResult Login(LoginViewModel model)
{
FormError formError = new FormError();
if (ModelState.IsValid)
{
//I do nothing here yet
}
formError.Status = false;
List<string> errors = new List<string>();
foreach (ModelState modelState in ViewData.ModelState.Values)
{
foreach (ModelError error in modelState.Errors)
{
errors.Add(error.ErrorMessage);
}
}
formError.ErrorMessages = errors;
// If we got this far, something failed, redisplay form
return Json(formError);
}
我以 Angular 方式发送
$http.post('Login', { UserName: $scope.email, Password: $scope.password }, function (response) {
alert('success')
}).error(function (error) {
alert('Opps! Something went wrong!');
})
在 Angular 代码中,如果发生内部错误,则会调用错误回调。此外,数据已正确传递到 post 方法并可以记录在服务器上。
如您所见,操作成功返回数据:
但是在客户端,Angular js $http 成功回调不起作用。我的代码有什么问题吗?
最佳答案
您尚未向 $http.post
方法添加成功回调。 $http.post
的签名是 post(url, data, config?)
并且您似乎尝试像 $http.post(url 、数据、回调)
。将其更改为:
$http.post('Login', { UserName: $scope.email,
Password: $scope.password }).then(
function (response) {
alert('success')
}, function (error) {
alert('Opps! Something went wrong!');
});
关于javascript - Angular JS $http POST 在 ASP.NET MVC 中成功时没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39911024/