如何通过从angularJS控制器到MVC5控制器的Ajax调用获取JSON

阿尔弗雷德·艾斯(Alfred Ace)

我是AngularJS的新手。我想从我的角度控制器向MVC5控制器进行ajax调用。带有三个参数的动作驻留在HomeController中,例如

public ActionResult addFrnd(int name, string phone, int age)
    {
       //do something
        return json();
    }

我的角度控制器去了

var myModule = angular.module("myApp", ['ngRoute']);
myModule.controller('SimpleController', function ($scope, $http, SimpleFactory) {
        $scope.friends = [];
        init();


        function init() {
            $scope.friends = SimpleFactory.getFriend();
        }

        $scope.addFriend = function ($http) {
            $scope.friends.push(
                {
                    name: $scope.newFriend.name,
                    phone: $scope.newFriend.phone,
                    age: $scope.newFriend.age
                });
            //$http("/Home/addFrnd");

            $http.get({
                type: "POST",
                url: "~/Home/addFrnd",
                data: {
                    name: $scope.newFriend.name,
                    phone: $scope.newFriend.phone,
                    age: $scope.newFriend.age
                },
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (msg) {
                    alert(msg.d);
                },
                error: function (msg) {
                    alert(msg.d);
                }
            });
        };
    });

我怎样才能解决这个问题?请帮我

勒弗勒

其中一些可能取决于您的路由。无论哪种方式,您都需要在http通话中删除“〜”后再返回首页。另一个问题是您正在使用$ http.get,而您指定的类型是帖子。如果实际上是帖子,则只需使用$ http.post({。另外,请在您的mvc控制器中,使用post属性指定此调用为帖子:

[HttpPost]
public ActionResult addFrnd(int name, string phone, int age)
    {
       //do something
        return json();
    }

您可以像这样按角度编写帖子:

$scope.addFriend = function(){
addFriend()
.success(function(returnVal){
//success
})
.err(function(error){
//error
});
};

function addFriend(){
    var  data = {
                    name: $scope.newFriend.name,
                    phone: $scope.newFriend.phone,
                     age: $scope.newFriend.age
                    };

   return  $http.post('/Home/addFrnd/', data);
}

同样也不需要将$ http传递到$ scope.addFriend的作用域函数中,您已经注入了它

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过对控制器的Ajax调用在MVC5中呈现部分视图并返回HTML

未从JSON AJAX发布中调用MVC5控制器操作

从控制器获取结果但 ajax 调用获取错误而不是在 MVC5 和 C# 中成功

MVC5 控制器未收到 JSON 对象

从BLL层到MVC5中的控制器的调用函数

MVC5 AngularJS数据未从服务传递到控制器

通过Ajax调用Phalcon php MVC控制器

Ajax调用MVC控制器

Laravel - 如何通过 AJAX (jQuery) 调用控制器函数

通过ajax调用传递给mvc控制器时,在列表中获取空值

如何对不同的MVC控制器进行Ajax调用

如何使用 AJAX 正确调用 MVC 控制器

如何通过 AJAX 访问从控制器检索到的数组

MVC5的“通用”包装器-控制器?

JSON 到 MVC 控制器

我如何从mongodb获取值到angularjs控制器

如何获取Javascript数组到MVC控制器

如何通过ajax在控制器的方法中获取数据?

从MVC控制器获取JSON对象

如何通过.Net MVC4中带有JSON的ajax调用将复杂的视图模型传递到控制器动作中?

如何通过JQuery ajax调用将dataTable的选定行的数据发布到php控制器

如何通过从 vuejs 组件获取数据在 Laravel 控制器中创建多行

如何从angularjs控制器获取数据

如何在 angularjs 控制器中获取 json 数据

MVC5帐户控制器null参考异常

MVC5控制器参数中的口音

MsTests MVC5控制器未触发OnAuthorization

如何使用Ajax在JavaScript中获取MVC控制器json数据

C# mvc5 通过控制器添加文本框