Мне нужно подключиться в Angular 6 к SQL Server, я использовал узел server.js для получения данных из SQL Server.Когда я запускаю localhost: 8887, он отображает данные в формате json, но в Angular, как получить результаты работы базы данных в сервисе?
serve.js
var conn = new sql.ConnectionPool({
user :'XX',
password :'XXXX',
server :'XXXXXX',
database :'XXXX',
port : 1433,
requestTimeout :300000,
options: {
encrypt: false
}
});
app.get( "/machinedata",function ( request,response ){
conn.connect().then(function ()
{
var sqlQuery = "SELECT * FROM machinedata";
var req = new sql.Request( conn );
req.query( sqlQuery ).then(function ( recordset )
{
response.json( recordset.recordset );
conn.close();
}).catch( function ( err ) {
conn.close();
response.status( 400 ).send( err );
});
}).catch(function ( err ) {
conn.close();
response.status( 400 ).send( err );
});
});
data.service.ts
import {Injectable} from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Machinedata } from './machinedata';
const httpOptions = {
headers: new HttpHeaders({ 'Content-Type': 'application/json' })
};
@Injectable()
export class DataService {
constructor(private http: HttpClient) {}
getmachinedata() {
return this.http.get( 'http://localhost:8887/machinedata' );
}
}
mdata.component.ts
import { Component, OnInit } from '@angular/core';
import { DataService } from '../data.service';
import { Machinedata } from '../machinedata';
@Component({
selector: 'app-mdata',
templateUrl: './mdata.component.html',
styleUrls: ['./mdata.component.css']
})
export class MdataComponent implements OnInit {
machinedatas: Machinedata[];
constructor( private dataService: DataService) { }
ngOnInit() {
this.dataService.getmachinedata().subscribe((data: Machinedata[])
=> { this.machinedatas = data;
});
}