从AngularJS指令调用MVC控制器

时间:2016-01-25 19:44:48

标签: angularjs asp.net-mvc-4

我上传文件,我在文件的MVC控制器中有验证逻辑。此附件过程可用于整个应用程序;因此,我需要一个指令。

我希望能够(一旦我点击“上传”按钮)从Angular指令调用MVC控制器,最终将文件发送到Web服务。

有人可以告诉我如何才能做到这一点吗?

我希望能够在我的指令中使用类似下面的代码:

$http.post(ajaxUrl)
.success(function (status) {
    if (status.Succeed) {
        alert('file uploaded'
    }
    else {
        alert(status.ErrorResult);
    }
}

1 个答案:

答案 0 :(得分:1)

您是否考虑过为您的指令创建和注入服务?

(function () {
    'use strict';

    angular
        .module('app')
        .factory('service', service);

    function service($http) {
        var url = 'url';

        var service = {
            add: add
        };

        return service;

        function add(data, callback, errorCallback) {
            $http({
                method: 'POST',
                url: url,
                data: data
            })
            .success(function (data, status, headers, config) {
            })
            .error(function (data, status, headers, config) {
            });
        };
    }
})();

在指令

中调用服务
service.add(data, function (status) {
});