node.js - 获取 http ://localhost:4000/rugs 500 (Internal Server Error)

标签 node.js angularjs routes mean-stack crud

Photo: the list of rugs do not appear

我正在尝试制作一个 MEAN CRUD 应用程序。我不太确定哪条路线已关闭,但我似乎无法与 mongodb 通信来显示数据。当“rug-list.component.ts”调用“rug.service.ts”中的getRugs()服务时,调试器似乎中断了。 (我还想知道:后端文件中的路径名需要与前端的路径名匹配吗?)

如有任何建议,我们将不胜感激。 :)

» rug.service.ts (前端)

...

@Injectable({ providedIn: "root" })
export class RugService {
    private uri = 'http://localhost:4000/rugs';

    constructor(private http: HttpClient) { }

    getRugs() {
        return this.http.get(`${this.uri}`);
    }

    getRug(id: number) {
        ...
        return this.http.get(`${this.uri}/${id}`);
    }
    ...
    deleteRug(id: number) {
        return this.http.get(`${this.uri}/${id}/delete`);
    }

   ...
}

» server.js (后端)


...

app.use('/rugs', rugRoute);

» rug.route.js (后端)

...

//list
rugRoutes.route('/').get(function (req, res) {
    find(function (err, rugs) {
        if (err) { console.log(err); }
        else { res.json(rugs); }
    });
});

//details
rugRoutes.route('/:id').get(function (req, res) {
    let id = req.params.id;
    findById(id, function (err, rug) {
        res.json(rug);
    });
});

//add
rugRoutes.route('/0/edit').post(function (req, res) {
    let rug = new Rug(req.body);
    rug.save().then(
        () => { res.status(200).json({ 'rug': 'Rug added successfully' }); })
        .catch(err => { res.status(400).send("Unable to save to database"); });
});

» app-routing.module.ts(不确定这是否有必要)(前端)

...

const routes: Routes = [
  { path: 'rug-list', component: RugListComponent },
  { path: 'rug-list/:id', component: RugDetailComponent },
  { path: 'rug-list/:id/edit', component: RugEditComponent },
  { path: '**', component: HomeComponent, pathMatch: 'full' },
];

最佳答案

确保前端文件 rug.service.ts 中的“this.http.get/put/post”与后端文件 rug.route.js 中的“rugRoutes.route(pathname).get/put/post(...)”匹配。

关于node.js - 获取 http ://localhost:4000/rugs 500 (Internal Server Error),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56658124/

相关文章:

javascript - Firebase 和 Angular JS 中的随机 ID

javascript - EmberJS路由复用: edit and create new model

c# - ASP.Net webforms - 动态 SEO 友好 URL

ruby-on-rails - 在Rails中记录默认路由的使用

node.js - 更新 Mongoose 模型对象的数组项

javascript - http请求不会执行

javascript - AngularJS UI-Router,解决 $http 依赖在 minify 时丢失

javascript - 使用 Express 更改文件夹或文件类型中的文件的 http header ?

javascript - Bluebird 对一系列功能的 promise

javascript - 在 Angular JS 的 uri 参数中使用 'slash' 字符使用 Restful 服务