Angularjs

Node.js 前端處理 (2)

基本介紹

教學目標

透過 Node.js 實作 API ,並且與前端 Angularjs 框架進行表單處理。

前置作業

  1. 完成 Node.js 套件安裝與設置。
  2. 建立專案資料夾,並且新增三個檔案。
    ./public/app.html
    ./public/js/app.js
    ./server.js

使用教學

撰寫相關程式碼至適當檔案中。

./public/app.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!doctype html>
<html ng-app="App">
<head>
<script src="http://library.leoyeh.me/js/angularjs/angular-1.3.1.min.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ng-controller="AppController">
<form name="form" ng-submit="query(form.$valid);">
<p>姓名: <input type="name" ng-model="user.name" required /></p>
<button type="submit" >查詢信箱</button>
</form>
<p>信箱: {{user.mail}}</p>
</div>
</body>
</html>

./public/js/app.js

1
2
3
4
5
6
7
8
9
10
11
12
13
angular.module('App', []).controller('AppController', ['$scope', '$http', function($scope, $http) {
$scope.query = function(isValid) {
if (isValid) {
$http({
method: "POST",
url: "/api/user",
data: $scope.user
}).success(function(data) {
$scope.user = data;
});
}
};
}]);

./server.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var express = require('express'); 
var app = express();
var body_parser = require('body-parser');
app.use(body_parser.json());
app.use(body_parser.urlencoded({ extended: true }));
var router = express.Router();
app.use(express.static(__dirname + '/public'));
app.use('/api', router);
var user = [{
id: 1 ,
name: "Leo Yeh" ,
mail: "leoyeh.me@gmail.com"
}];
router.post('/user', function(req, res){
var data = new Object();
data.name = req.body.name
data.mail = "沒有信箱!";
for (var n=0; n<user.length; n++) {
if (user[n].name == req.body.name) {
data.mail = user[n].mail;
}
}
res.json(data);
});
var port = process.env.PORT || 8080;
app.listen(port);

開啟終端機,切換至該專案目錄下,接著執行伺服器程式。

1
$ node server.js

開啟瀏覽器,在網址列輸入 http://127.0.0.1:8080/app.html 進行測試。

相關資源

Node.js 前端處理 (1)

基本介紹

教學目標

透過 Node.js 實作 API ,並且與前端 Angularjs 框架進行資料處理。

前置作業

  1. 完成 Node.js 套件安裝與設置。
  2. 建立專案資料夾,並且新增三個檔案。
    ./public/app.html
    ./public/js/app.js
    ./server.js

使用教學

撰寫相關程式碼至適當檔案中。

./public/app.html

1
2
3
4
5
6
7
8
9
10
11
12
13
<!doctype html>
<html ng-app="App">
<head>
<script src="http://library.leoyeh.me/js/angularjs/angular-1.3.1.min.js"></script>
<script src="js/app.js"></script>
</head>
<body>
<div ng-controller="AppController">
<p>姓名: {{user.name}}</p>
<p>信箱: {{user.mail}}</p>
</div>
</body>
</html>

./public/js/app.js

1
2
3
4
5
6
7
8
angular.module('App', []).controller('AppController', ['$scope', '$http', function($scope, $http) {
$http({
method: "GET",
url: "/api/user",
}).success(function(data) {
$scope.user = data;
});
}]);

./server.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var express = require('express'); 
var app = express();
var router = express.Router();
app.use(express.static(__dirname + '/public'));
app.use('/api', router);
var user = {
id: 1 ,
name: "Leo Yeh" ,
mail: "leoyeh.me@gmail.com"
};
router.get('/user', function(req, res){
res.json(user);
});
var port = process.env.PORT || 8080;
app.listen(port);

開啟終端機,切換至該專案目錄下,接著執行伺服器程式。

1
$ node server.js

開啟瀏覽器,在網址列輸入 http://127.0.0.1:8080/app.html 進行測試。

相關資源