Angular JS $http POST 在 ASP.NET MVC 中没有成功响应
Angular JS $http POST not responding on success in ASP.NET MVC
我正在开发 ASP.NET MVC 应用程序。我正在使用 Angular JS。现在我正在做的是 post 将数据发送到服务器并从服务器获取 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 方法,并且可以记录在服务器上。
如你所见,操作成功return数据:
但是在客户端,angular js $http 成功回调不工作。我的代码有什么问题?
您尚未向 $http.post
方法添加成功回调。 $http.post
的签名是 post(url, data, config?)
,你似乎想像 $http.post(url, data, callback)
那样使用它。将其更改为:
$http.post('Login', { UserName: $scope.email,
Password: $scope.password }).then(
function (response) {
alert('success')
}, function (error) {
alert('Opps! Something went wrong!');
});
我正在开发 ASP.NET MVC 应用程序。我正在使用 Angular JS。现在我正在做的是 post 将数据发送到服务器并从服务器获取 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 方法,并且可以记录在服务器上。
如你所见,操作成功return数据:
但是在客户端,angular js $http 成功回调不工作。我的代码有什么问题?
您尚未向 $http.post
方法添加成功回调。 $http.post
的签名是 post(url, data, config?)
,你似乎想像 $http.post(url, data, callback)
那样使用它。将其更改为:
$http.post('Login', { UserName: $scope.email,
Password: $scope.password }).then(
function (response) {
alert('success')
}, function (error) {
alert('Opps! Something went wrong!');
});