使用angular,server error错误加载carreer对象时出错
我正试图从我的数据库中获取一个特定的职业,在mongo的url / carreras /:id下,id是正常的,但是当角度转到服务器时获得null。
我试图通过res.send(carrera)更改节点中后端的响应,changin res.json({ok:true,carrera:carrera})
carrera.service.ts
export class CarreraService {
private urlCarrera = 'http://localhost:3000/carrera';
constructor(private http: HttpClient) { }
getCarrera(id: string) {
return this.http.get(this.urlCarrera + '/' + id).pipe(
map((resp: any) => {
return resp;
})
);
}
carrerasponent.ts
public id;
carreraBd: any;
constructor(public carreraServ: CarreraService,
public router: Router, public actRoute: ActivatedRoute) { }
ngOnInit() {
this.id = this.actRoute.snapshot.paramMap.get('id');
this.traerCarrera();
}
traerCarrera() {
try {
const traerCarrera = this.carreraServ.getCarrera(this.id);
console.log(this.id);
traerCarrera.subscribe(
(resp: any) => {
console.log(resp);
this.carreraBd = resp;
});
console.log(this.carreraBd);
} catch (error) {
console.log(error);
}
}
后端
carrerasController.js
exports.getCarrera = (req, res) => {
var id = req.params.id;
Carrera.findById(id, (err, carrera) => {
if (err) {
res.status(500).json({
ok: false,
err: err
});
}
if (!carrera) {
res.status(400).json({
ok: false,
err: err
});
}
res.send(carrera);
});
}
回答如下:这是个问题。快速解决:
- 在后端安装cors npm i cors --save
2.
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors()) // use like this.