Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 我使用angular发送http post请求,但它不会转到asp.net mvc操作并返回html布局标记_Angularjs_Asp.net Mvc - Fatal编程技术网

Angularjs 我使用angular发送http post请求,但它不会转到asp.net mvc操作并返回html布局标记

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

我正在用asp.net mvc做一个angular应用程序,我用identity做了一个注册表,我有布局和索引mvc视图,我只在它的ng视图标记中写了它,我在其中注入html页面,我正在做一个从angular controller到mvc操作方法的http post请求,但请求没有进入mvc操作,然而,当我将th视图更改为mvc视图并在angular map to mvc方法中创建templateUrl时,它工作得很好。 有人能帮我解决这个问题吗

[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);

});