Javascript 在AngularJS框架范围内的页面加载时调用webservice

Javascript 在AngularJS框架范围内的页面加载时调用webservice,javascript,html,ajax,angularjs,web-services,Javascript,Html,Ajax,Angularjs,Web Services,我有一个返回Jsonobject的Web服务,我使用Ajax在JS中调用它,如下所示: $scope.init = function () { $.ajax({ type: 'GET', timeout: 1000000000, url: serverName.replace('services', 'servicesV2') + '/getTr

我有一个返回Jsonobject的Web服务,我使用Ajax在JS中调用它,如下所示:

$scope.init = function () {
                $.ajax({
                    type: 'GET',
                    timeout: 1000000000,
                    url: serverName.replace('services', 'servicesV2') + '/getTreasuryResults',
                    data: { data: 'None' }, // the data in form-encoded format, ie as it would appear on a querystring
                    dataType: "text", // the data type we want back, so text.  The data will come wrapped in xml
                    success: function (data) {
                        var dataAngularTreasury = JSON.parse(data);
                        alert(dataAngularTreasury);
                        //FillDefaultTreasuryValues(data.split(";"));
                        CallTreasuryDetailValuesWS(934);
                    },
                    error: function (data) {
                        alert(errServiceCall); // show the string that was returned, this will be the data inside the xml wrapper
                        $('#loading').hide();
                    }
                });
            };
如果我在ng中调用init()函数,请单击

<button id="btnGetDefaultValues" type="button" class="button" ng-click="init()">Fill</button>

如果我在ng init触发器中调用这个webservice

<body id="body" ng-app="termDeposite" ng-controller="userCtrl" ng-init="init()"  >

webservice转到错误步骤并抛出该错误:

“\n\n\n错误404--不是” 找到\n\n\n\n\n\n错误404--不是 从RFC中找到\n\n\n 2068超文本传输协议-- HTTP/1.1:\n10.4.5 404未找到\n

服务器未找到任何与 请求URI。没有给出条件是否满足的指示 临时的或永久的。

如果服务器不希望这样做 客户可用的信息,状态代码403(禁止) 可以改为使用。如果 服务器通过一些内部可配置的机制知道 旧资源永久不可用且没有转发 地址。

\n\n\n\n\n\n“


最后,我可以使用ng click调用Web服务,但不能使用ng init或pageload调用相同的Web服务。那么,如何在page init或angular framework范围内的page load中使用ajax调用Web服务呢?

假设您将serverName作为全局名称,并且它是可读的,那么ng init版本或创建自定义指令并将代码粘贴到链接函数中应该可以工作


检查在电脑mac f12上的Chrome开发工具(内置于Chrome中)-cmd+alt+j的网络选项卡中实际调用的URL。

使用浏览器的网络选项卡或fiddler进行检查。他们是否提出了完全相同的请求?是的,我可以使用复制完整的ws-url调用相同的Web服务,并将其直接粘贴到浏览器选项卡,它不会返回任何错误。在控制器中使用.ready没有多大意义,但我需要ws在page load@YOUit中返回数据关于serverName。谢谢你@alexrogins
<body id="body" ng-app="termDeposite" ng-controller="userCtrl" ng-init="init()"  >