Angularjs 我使用angular发送http post请求,但它不会转到asp.net mvc操作并返回html布局标记
我正在用asp.net mvc做一个angular应用程序,我用identity做了一个注册表,我有布局和索引mvc视图,我只在它的ng视图标记中写了它,我在其中注入html页面,我正在做一个从angular controller到mvc操作方法的http post请求,但请求没有进入mvc操作,然而,当我将th视图更改为mvc视图并在angular map to mvc方法中创建templateUrl时,它工作得很好。 有人能帮我解决这个问题吗Angularjs 我使用angular发送http post请求,但它不会转到asp.net mvc操作并返回html布局标记,angularjs,asp.net-mvc,Angularjs,Asp.net Mvc,我正在用asp.net mvc做一个angular应用程序,我用identity做了一个注册表,我有布局和索引mvc视图,我只在它的ng视图标记中写了它,我在其中注入html页面,我正在做一个从angular controller到mvc操作方法的http post请求,但请求没有进入mvc操作,然而,当我将th视图更改为mvc视图并在angular map to mvc方法中创建templateUrl时,它工作得很好。 有人能帮我解决这个问题吗 [HttpPost] [AllowAno
[HttpPost]
[AllowAnonymous]
public async Task<JsonResult> Register(RegisterViewModel model)
{
string message = "";
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
FirstName = model.FirstName,
MiddleName = model.MiddleName,
LastName = model.LastName,
UserName = model.Email,
Email = model.Email,
UserStatus = UserStatus.Waiting
};
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
message = "Success";
}
else
{
AddErrors(result);
message = "InvalidEmail";
}
}
else
{
message = "Failed!";
}
return new JsonResult { Data = message, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
}]))
这是我的html页面:
<div ng-controller="RegisterController">
<form name="f1" ng-submit="SaveData(user)" novalidate>
controls here
</form
这里的控制
1) 检查浏览器控制台是否存在任何javascript错误,如果有,请解决这些错误并重试
2) 检查控制器方法上的属性()是否正确,方法名称是否拼写正确
3) 检查您的请求中是否有正确的路径
4) 检查您是否正在向控制器发送正确的数据
5) 检查该方法是否为公共方法
6) 检查您是否有权访问该控制器/方法
7) 检查是否没有任何重复的方法名称,a)相同的参数和名称(如果不使用a),或b)相同的名称和方法选择属性
8) 从方法中删除所有参数,在方法的开头放置一个断点,然后尝试发出请求,看看它是否到达断点。如果它不带参数也不带参数工作,那么您没有将正确的所需数据传递到方法中
9) 提出请求并检查响应!!(以下示例):
如果你有一个404,那么你的方法找不到,如果你有一个500,那么你的代码中有东西爆炸了,如果你有一个401,那么你是未经授权的等等。。。这对于真正了解您的请求发生了什么非常有用
10) 检查您的应用程序是否正在运行 没有冒犯的意思,但是如果没有显示任何代码,怎么能提供帮助呢?您必须发布控制器操作以及客户端代码,以便其他人能够识别问题;我正在查看下面答案中的注释,似乎tge请求正在执行操作,但RegisterViewModel model)
model为null或值为空,对吗?not emptyIf中没有值如果值不为空,那么问题是什么?http请求不会转到mvc方法!是的,我的控制器方法上有[HttpPost]属性这是我的mvc操作方法:[授权]公共类AccountController:controller{[HttpPost][AllowAnonymous]公共异步任务寄存器(RegisterViewModel){},这是我在控制器中的角度http请求,$http.post(“/Account/Register”,data)(函数(d){alert(“success”);},函数(d){alert('error');})console.log
在http请求的成功部分和错误部分中,d
的值,它会给您什么状态代码?如果您的注册方法中没有遇到断点,那么您遇到的问题是将数据传递到注册方法中。console.log(数据)在调用$http.post
请求并检查您是否拥有所需的一切以及键、值对是否正确之前,状态代码为200,但不会转到mvc方法
<div ng-controller="RegisterController">
<form name="f1" ng-submit="SaveData(user)" novalidate>
controls here
</form
// make your request
$http({
method: 'POST',
url: '/Controller/Method',
data: {
foo: bar
}
}).then(function(response) {
// check your response (if a success status code was resolved)
console.log(response);
}, function(error) {
// check your error response
console.log(error);
});