【发布时间】:2017-11-16 13:49:57
【问题描述】:
我正在尝试创建轻量级的 Angularjs 应用程序。我正在通过 irb cli 运行 api 服务器,它在端口 4567 上运行。当我运行 bundle exec ruby.rb 时,我可以确认地址上有数据:http://localhost:4567/api/v1/companies:
[
{"id": "1",
"name": "A"
},
{
"id": "2",
"name": "B",
}
]
我已尝试使用此代码 (hello.js):
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$scope.company=[];
$http.get("http://localhost:4567/api/v1/companies")
/*$http.get("http://localhost/fake.json")*/
.then(function(response) {
$scope.company = response.data;
});
});
HTML:
<html>
<head>
<title>Hello AngularJS</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="hello.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
<li ng-repeat="x in company">
{{ 'name: ' + x.name + ', id:' + x.id }}
</li>
</ul>
</div>
</body>
</html>
问题是,如果我将 url 更改为评论中的“http://localhost/fake.json”,我会看到数据响应清晰。但是如果我使用本地网络服务器,我什么也看不到。是否存在某种权限问题或其他问题。
【问题讨论】:
-
控制台是否出现错误?或者在您的后端服务日志中,
-
“我正在通过 irb cli 运行 api 服务器”- 你是什么意思?由于这是标记为 ruby-on-rails 我猜你正在使用 Rails。您使用
bin/rails server命令而不是通过 irb 启动 rails 服务器。 -
请查看控制台对错误的说明,我不确定,但如果您在控制台中看到数据,我们可以考虑运行摘要循环。但在此之前,在页面上看不到任何数据的情况下,看看控制台是否没有错误。
-
我是用 Ruby 做的,但在 Sinatra 平台上,我已经删除了标签
标签: javascript angularjs ruby