我試圖通過從Sinatra的JSON獲取Angular js的部分'下載'來從MySQL數據庫獲取信息。我已經寫了下面的代碼,但它不工作,我不知道我的app.rb中的路由是錯誤的還是Angular中的控制器。對Sinatra的角度JS調用不返回數據
如果任何人都可以幫助我解決這個問題,那將是太棒了,因爲我無法在網上找到任何相關的教程。非常感謝。
在app.rb
get "/#/view1/downloadData" do
#get list of downloads for user
@download = Download.all(:order => [:downloadID], :limit => 20)
if @download
@download.to_json
#log to console if JSON pulled in correctly
puts "get list of downloads successful"
else
halt 404
#log to console if JSON failed
puts "get list of downloads JSON failed 404 displayed"
end
end
在諧音/ downloads.html
<p>Manage downloads</p>
<ul ng-controller="MyCtrl1">
<li>ID: {{download.title}}, Name: {{download.downloadID}}</li>
</ul>
在JS/controllers.js
//'use strict';
/* Controllers */
angular.module('myApp.controllers', []).
controller('MyCtrl1', [function($scope, $http) {
//a scope function to load the data.
$scope = function() {
$http.get('/#/view1/downloadData').success(function(data) {
$scope.items = data;
console.log(data);
console.log("data got succesfully");
});
};
}])
.controller('MyCtrl2', [function() {
}])
.controller('MyCtrl3', [function() {
}]);
'這不是working'是不是一個真正的錯誤描述。另外,測試app.rb是否正常工作應該相當簡單,您已經記錄了調用的結果。 – dirkk
puts返回nil,這可能是您的API不返回任何數據的原因。嘗試在app.rb中反轉你的看跌和回報 – MrRuru
對不起,不工作並不是非常具有描述性。基本上它不返回數據,我不確定故障在哪裏。 –