微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 带有angularjs的$http请求正在返回我的html doc

我是新来的,很抱歉,如果我在帖子上犯了一些错误……

我正在尝试将angularjs与ASP.NET Web Forms一起使用,一切顺利,直到我需要向c#webmethods发出请求.我在这里和其他页面搜索解决方案并没有找到任何东西.

让我们来解决问题:我的请求只返回我的Default.aspx HTML代码,而不是我的JSON.事实上,我的请求不会调用我的webmethod …

app.controller('CtrlBoletos',function($scope,FactoryBoleto) {

    $scope.selections = [];

    $scope.boletos =  FactoryBoleto.getBoletos();

    $scope.gridBoletos = {
        data: 'boletos',selectedItems: $scope.selections,multiSelect: false
    };
});


app.factory('FactoryBoleto',function ($http) {

   var getBoletos = function() {

        $http({
           method: 'POST',url: "./Default.aspx/get_boleto",async: false
        }).success(function(result){
           console.info(result);
        });
   };
   return { getBoletos: getBoletos };
});

这是我的webmethod

[WebMethod]
 public static string get_boleto()
{     
    List<TFechamento_Boleto> lista = new List<TFechamento_Boleto>();
    JavaScriptSerializer serializer =new JavaScriptSerializer();
    TFechamento fechamento = new TFechamento(2);
    lista = fechamento.getDados(1).Boleto;

    var json = serializer.Serialize(lista);
    return json;

}

啊,如果我用JQuery AJAX发出请求,我会得到json …

有人帮助我,我对此感到疯狂……对不起我的坏英语:p

解决方法

我通过设置头文件,responseType和添加一个空数据对象来解决这个问题

factory.handshake = function () {
    return $http({
        method: "POST",url: urlBase.concat("/Handshake"),data: {},headers: { "Content-Type": "application/json" },responseType: 'json'
    });
};

……而且,当我打电话给我的网络方法时,结果会神奇地出现

myFactory.handshake()
        .success(function (fromApi) {
            alert(fromApi.d);
        })
        .error(function (error) {
            $scope.status = 'Unable to load sport data: ' + error.message;
        });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐