![](/img/trans.png)
[英]Sending URL Parameters to a Python REST API using Javascript
[英]Sending parameters to Rest API for SQL Server
我已經創建了一個 SQL 服務器,其中一個表在我可以本地訪問的服務器上包含數據。 我還在同一台服務器上創建了一個“API”來從 SQL 服務器獲取信息,以便我的 angular 應用程序可以讀取它。
At the moment, I can read the rows in the SQL server and have them displayed in my angular application, but, I want to be able to update the SQL table from my angular app (through the API).
這是我的 API ( sqlserver.js
):
var express = require('express');
var app = express();
var cors = require('cors');
app.use(cors())
app.get('/', function (req, res) {
var sql = require("msnodesqlv8");
// config for your database
var config = "server=servername;Database=dataBaseName;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}"
const query = "SELECT * FROM tableName";
// connect to your database
sql.query(config, query, (err, rows) => {
res.send(rows)
});
});
var server = app.listen(3097, function () {
console.log('Server is running..');
});
我希望能夠使用查詢
const query = "SELECT * from tableName WHERE ID LIKE <inputFromAngular>"
但我不確定如何將參數從 angular 獲取到sqlserver.js
中。 (如果我能做到這一點,那么它將導致使用SET
更新 SQL 表
在我的 angular 應用程序中,這就是我調用sqlserver.js
以顯示 SQL 表的方式:
import { HttpClient } from '@angular/common/http';
constructor(
private httpService: HttpClient
) { }
this.httpService.get("http://servername:3097").subscribe(response => {
console.log(response)
this.sqlData = response;
})
我嘗試過使用this.httpService.post()
但我不確定如何獲取 API 中的參數?
您將需要更改獲取方法以從 ui 端發送參數並在后端獲取參數,因此添加一個服務器端方法,例如
app.get('/:id', function (req, res) {
var sql = require("msnodesqlv8");
var id = req.params.id,
// config for your database
var config = "server=servername;Database=dataBaseName;Trusted_Connection=Yes;Driver={SQL Server Native Client 11.0}"
const query = "SELECT * FROM tableName WHERE ID LIKE "+id;
// connect to your database
sql.query(config, query, (err, rows) => {
res.send(rows)
});
});
然后在 angular 側
this.httpService.get("http://servername:3097/"+yourid).subscribe(response => {
console.log(response)
this.sqlData = response;
})
Also I would suggest you to create a root like /yourapiname/:id
instead of /:id
and url on angular side should be " http://servername:3097/yourapiname "+yourid because your current root can result to confliction.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.