我想創建一個AngularJS應用程序,我需要從DB2數據庫獲取數據。如何從DB2獲取數據到AngularJS應用程序中?
如何直接從我的AngularJS應用程序連接到DB2?我無法在網上找到任何參考。
我想創建一個AngularJS應用程序,我需要從DB2數據庫獲取數據。如何從DB2獲取數據到AngularJS應用程序中?
如何直接從我的AngularJS應用程序連接到DB2?我無法在網上找到任何參考。
簡單
yourdomain/get/data
的AngularJS應用沒有按」 t直接連接到DB2數據庫,它需要一個服務器端組件連接到數據庫。
連接任何服務器端框架以獲取數據庫的響應,例如PHP或node.js.
這裏是一個如何連接的例子,我將使用PHP來獲得服務器端的響應。
在HTML:
<div ng-app="myApp" ng-controller="myCtrl">
<form>
<button type="button" ng-click="getData()">GetResponse</button>
</form>
</div>
在AngularJS:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$scope.getData = function() {
$http({
method: 'POST',
url: "Path to Backend Handling File",
data:{};
}).then(function success(response) {
console.log(response.data);
}, function error(response){
}
});
};
});
在PHP:
// This is an example code written in PHP
// Let $data will have response from database
print_r(json_encode($data)); //used to return reponse to angular script used.
// Now response is stored in the response variable of success function as JSON which can be used as needed
好的。使用腳本Iam能夠獲取數據。但在您的示例中,您可以通過單擊按鈕獲取該數據,但是何時可以在應用程序啓動時在頁面上加載數據? – user7350714
你可以在ng-init上調用你的函數「getData」。 '
@graham我批准了你對這篇文章的編輯,但它認爲它開始推動「將你的話放在尼瑪的嘴裏」的界限。我意識到,SO有時與「協作編輯事物以產生偉大的問題和答案」意義上的「如何維基」有衝突 - 通常,修正所呈現的信息似乎被認爲是可以的,但添加了新的信息原作者並沒有想到要被避免,因爲它爲給出的信息產生了一個衝突的權威 –
你需要一個服務器端組件日與數據庫交談並提供數據(例如, json數據)通過http。該組件可以用你自己的語言選擇來編寫,例如php,java等。angular應該使用Ajax調用與這個API進行交流,並以這種方式獲取數據。
AngularJS尋找某種類型的REST(或類似REST)服務器來爲其提供JSON結果。在缺省狀態下,DB2需要某種形式的ODBC或JDBC驅動程序將其連接成編程語言,但它不提供類似REST的接口。
現在我們已經確定了這一點,讓我們看看幾種解決問題的方法。
IBM提供了一些free DB2 User Defined Functions,它們說REST並可以添加到您的實例中。鏈接文章中包含下載鏈接。
還有一個open source service from DreamFactory,它本質上是一回事 - 它將一個REST API放在DB2前面。
我建議您調查兩個選項,並根據您的要求查看哪一個對您最有意義。
ok ..還有更多的事情,是否有可能創建動態角度js應用程序,以便如果新記錄插入到db2中,那麼它會在應用程序中反映出來,無需刷新任何頁面? – user7350714
有幾種方法,手動你必須輪詢服務器,或實現套接字。 – Gopal