获取html作为响应,而不是从asmx服务返回的对象

时间:2014-06-20 08:53:08

标签: c# asp.net angularjs asmx angularjs-http

我尝试使用AngularJS $http调用asmx服务。但我无法从网络服务获取数据。我获得了成功回调,但响应是整个html页面,而不是作为响应返回的对象。

这是我的C#asp.net网络服务代码:

public class DataService : System.Web.Services.WebService
{

    [WebMethod]
    public Hello HelloWorld()
    {
        Hello h = new Hello();
        h.Message = "Hello World";
        return h;
    }
}

public class Hello
{
    public string Message { get; set; }
}

这是AngularJS代码

    function FormController($scope,$http) {

    $scope.submit = function (user) {
        var url = '../../Services/DataService.asmx?op=HelloWorld';
        $http({
            method: "get",
            url: url
        }).success(function (data, status, headers, config) {
            console.log(data);
        });
    }

    FormController.$inject = ['$scope','$http'];
}

在表单提交上调用上述方法。

1 个答案:

答案 0 :(得分:0)

看起来网址不正确。

尝试:

function FormController($scope,$http) {

    $scope.submit = function (user) {
        var url = '../../Services/DataService.asmx/HelloWorld';
        $http({
            method: "get",
            url: url
        }).success(function (data, status, headers, config) {
            console.log(data);
        });
    }

    FormController.$inject = ['$scope','$http'];
}