无法使用参数从AngularJs Controller调用Mvc Controller Action

时间:2015-01-27 08:46:50

标签: c# asp.net-mvc angularjs

我试图从Angularjs controller $ http.get()调用我的Mvc Controller Action。请提供一些解决方案。

控制器操作:

 [HttpGet]
 public string CallMe(int number,string name)
 {
     return "Welcome " + name +" to Angular Js " + number + " times.";
 }

Angular JS控制器

 app.controller("StoreController", ["$http", function ($http) {        
    $http.get("/Home/CallMe", { number: 4, name: "angular"     }).success(function (data) {
        console.log(data);
    }).error(function (error) {           
        console.log(error);
    });
}]);

另外,有人可以指定相关的学习材料吗?

提前致谢。

2 个答案:

答案 0 :(得分:13)

您正在使用$http#get方法。

get(url, [config]);

 Param    Type     Details
 url      string   Relative or absolute URL specifying the destination of the request

 config   Object   Optional configuration object
(optional)

对于传递参数,angular.http为其提供了一个选项params

$http({
   url: "/Home/CallMe", 
   method: "GET",
   params: {number: 4, name: "angular"}
});

答案 1 :(得分:3)

您尝试将get方法与post参数一起使用。 get只接受一个URL参数和一个可选的配置参数。 请看documentation

尝试将参数附加到网址:

 app.controller("StoreController", ["$http", function ($http) {        
    $http.get("/Home/CallMe?number=4&name=angular").success(function (data) {
        console.log(data);
    }).error(function (error) {           
        console.log(error);
    });
}]);