所以我有一個角度控制器,在按下按鈕後成功發出http請求。我有一個node.js服務器運行,它獲取請求,然後發回YOU HAVE SUCCEEDED! HTTP REQUEST RECEIVED!
。我希望在收到請求時執行一個函數,但函數存在於./Source/Server/test.js
中的文件夾中的一個文件中。使用express.js在接收到一個http請求後執行一個函數?
如何告訴我的server.js文件發送命令來運行該函數?
server.js:
var express = require('express');
var app = express();
var fs = require('fs');
app.use(express.static(__dirname + '/Source/Client/Templates'));
app.use(express.static(__dirname + '/'));
app.get('/', function (req, res) {
res.sendFile('/Source/Client/Templates/Home.html', {root: __dirname });
});
app.get('/ThisIsATest', function (req, res) {
res.send('YOU HAVE SUCCEEDED! HTTP REQUEST RECEIVED!')
})
app.listen(3000);
console.log("running at port 3000");
test.js:
var run = require('./quickstart.js');
run.runQuickstart();
控制器:
angular.module('DaycareApp').controller('WaitingListController', ['$scope', '$http', function($scope, $http){
$scope.test = function() {
$http.get('/ThisIsATest')
.then(function(response) {
alert(response.data);
});
};
}]);
聽起來好像你想在你調用'res.send(...)'之前把'test.js'的內容移動到處理程序中。 –
@ChrisG 所以沿着線的東西: 'VAR runQuickstart =需要( './來源/服務器/ quickstart.js ');' 'app.get('/ ThisIsATest',函數(REQ, res,runQuickstart)' '{runQuickstart.runQuickstart();})' 應該這樣做嗎?它說runQuickstart()不是一個函數,但也許我通過錯誤或東西的變量.... – Ryan