Restangular没有调用服务器
Restangular is not calling the server
我想寻求一些帮助,因为我不知道这种情况下的问题是什么。
我有一个简单的MVC5应用程序,我想在其中使用angular和restangular。当我加载页面时,将执行角度控制器,但不会调用服务器。这只是一种测试方法,没有别的。rest服务(Webapi2)返回一个简单的json对象。
如果我使用浏览器或Fiddler2调用Web服务,那么我会得到预期的结果。根据Fiddler的说法,结果是json。
当我重新加载页面时,我什么也没得到,我想只有promise对象。根据Fiddler的说法,当时没有服务器调用。如果我转储testResult对象(请参阅下面的TestService.js文件),它不包含任何内容,并且我看到存在来自Server的属性,并且值为false。我认为这表明是否发生了服务器通信。
我查阅了重述的文档,但没有发现任何有助于我克服这个问题的内容。这并不意味着文档是错误的。:)我不知道问题出在哪里。
预期的json:
{"Id":1,"Name":"Egyeske"}
单个html文件(_layout.cs.html)
<!DOCTYPE html>
<html lang="en" ng-app="dilibApp">
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
<div ng-controller="TestController">
Test value: {{testValue}}
</div>
<div>
@RenderBody()
</div>
<div>
<script type="text/javascript" src="~/Scripts/angular.js"></script>
<script type="text/javascript" src="~/Scripts/angular-route.js"></script>
<script type="text/javascript" src="~/Scripts/angular-resource.js"></script>
<script type="text/javascript" src="~/Scripts/restangular.js"></script>
<script type="text/javascript" src="~/Scripts/lodash.js"></script>
@* dilibApp module *@
<script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/dilibApp.js"></script>
<script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/Controllers/TestController.js"></script>
<script type="text/javascript" src="~/Scripts/AngularModules/dilibApp/Services/TestService.js"></script>
</div>
</body>
</html>
dilibApp.js文件:
'use strict';
var dilibApp = angular.module('dilibApp', ['restangular', 'ngRoute', 'ngResource']).
config(function (RestangularProvider)
{
RestangularProvider.setBaseUrl('http://dev.dilib.local/service/webapi/');
});
TestController.js文件:
'use strict';
dilibApp.controller('TestController', function ($scope, testService)
{
$scope.testValue = testService.get();
});
TestService.js文件:
'use strict';
dilibApp.factory('testService', function(Restangular) {
var testResult = Restangular.all('http://dev.dilib.local/service/webapi/test');
//console.log(Restangular);
//console.log(testResult);
return {
get: function() {
//console.log(testResult.one());
return testResult.one();
}
}
});
文档
Restangular.all('link').getList();
Restangular.one('link').get();
因此,您应该将方法.get()
放在方法.one()
之后以获得单个结果,或者将.getList()
放在结果列表
相关文章:
- HTML客户端可移植文件生成-无外部资源或服务器调用
- 我如何通过从服务器调用gif来检查是否有互联网连接
- 通过服务器调用Graph API来构建我自己的Facebook帖子数据库
- SignalR 不从服务器调用客户端方法
- AngularJS - 选择 - 服务器调用的默认值
- 从服务器调用确认对话框 ASP.NET.并返回服务器上的选择
- Meteor:从服务器调用相互依赖的外部 API 并将数据转储到 db
- 在键盘上的select2中按下向下箭头键,然后我必须避免服务器调用
- Angular Promise 在服务器调用完成之前返回
- 如何在Google Apps Script中从服务器调用函数
- 注释从 JSON 服务器调用接收的类
- 从服务器调用 JQuery 函数 (asp.net)
- Meteor.js:基于时间的服务器调用
- 发送请求以从其他服务器调用函数
- javascript从远程服务器调用webapi
- 如何使用socket.io从服务器调用客户端方法
- 您应该将HTML代码放入JavaScript中还是从服务器调用它
- 使用定义的阈值限制服务器调用次数
- 它能在JavaScript选项runat=“”中从另一台服务器调用js文件吗;服务器”;
- 通过 APACHE 服务器调用多个 perl 脚本