我正在使用Angular 2和Nodejs連接到SQL Server。如果我簡單地將下面的代碼放在js文件中並使用node test.js
通過控制檯運行,代碼將正確刪除記錄。將Nodejs和Angular 2連接到SQL Server 2014
下面是代碼:
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
之後,我在我的角2項目搬到同一個文件到src
文件夾(其中index.html文件還存在)。我把同樣的代碼放到一個函數test.js
文件這樣的:
function testConnection()
{
var webconfig = {
user: 'sa',
password: 'test',
server: 'localhost',
database: 'Test',
options: {
encrypt: false // Use this if you're on Windows Azure
}
}
var express = require('express');
var sql = require('mssql');
var http = require('http');
var app = express();
var port = process.env.PORT || 4200;
var connection = new sql.Connection(webconfig, function(err) {
var request = new sql.Request(connection);
request.query('delete from Employee where Id = 2382', function(err, recordset) {
if(err) // ... error checks
console.log('Database connection error');
console.dir("User Data: "+recordset);
});
});
app.listen(port);
console.log(port+' is the magic port');
}
現在我想打電話給testConnection()
從索引頁。我已經把<script src="C:\Users\amandeep.singh\Desktop\Angular\my-app\src\test.js">
腳本路徑,並呼籲使用此功能:
<script>
testConnection();
</script>
索引頁正確執行,但不顯示任何錯誤,也沒有執行命令。我無法理解爲什麼相同的代碼在Nodejs的控制檯中工作,但不在我的index.html中。
幫助將不勝感激。
一個的NodeJS JavaScript代碼不能在瀏覽器中直接執行。 NodeJS代碼應該作爲後端工作。您需要在暴露後端邏輯的NodeJS/Express代碼中編寫Web服務。然後在Angular代碼中,需要通過$ http服務調用Web服務。 – Jay
將您的標記從angularjs更改爲angular,因爲angular 2與angularjs不同。 – Wernerson