我使用AngularJS和NodeJS作为后端。我有2个路由文件 - route1.api.js 和 route2.api.js 。它们在 server.js 中使用,如下所示:
const route1Api= require("./src/api/route1.api");
const route2Api= require("./src/api/route2.api");
app.use("/api/route1/", route1Api);
app.use("/api/route2/", route2Api);
route1.api.js 和 route2.api.js 的代码类似如下:< / p>
const router = express.Router();
router.post("/whatever", (req, res) => {
// Code
});
module.exports = router;
我从2个不同的Angular数据服务文件访问这些路由:
在 route1.data.service.js
postRoute1() {
console.log("Route1");
return this._http
.post("/api/route1/whatever", postData)
.map(result => console.log(result));
}
在 route2.data.service.js
postRoute2() {
console.log("Route2");
return this._http
.post("/api/route2/whatever", postData)
.map(result => console.log(result));
}
现在,问题是 route1 工作正常,但 route2 不是。 postRoute2() 方法仅适用于 console.log() 行,但不能超出此范围。可能是什么问题?
route2.api.js 代码:
router.post("/whatever", (req, res) => {
console.log("API hit");
User.find({}, function(err, user) {
if (err) res.status(500);
if (!user) res.status(204);
res.status(200).json(user);
});
});
答案 0 :(得分:0)
将postRoute2()方法修改为:
postRoute2() {
console.log("Route2");
return this._http
.post("/api/route2/whatever", postData)
.subscribe(result => console.log(result));
}