繁体   English   中英

POST http://localhost:4200/ 404 未找到(从 Angular 到 Nodejs 的请求)

[英]POST http://localhost:4200/ 404 Not found (Request from Angular to Nodejs)

我想知道我在这里做什么:

我在这里遇到的错误是什么意思? 它说明了什么? 解决这个问题的方法是什么?

在此处输入图像描述

来自node.jsapp.js

var express = require('express');
var path = require('path');
var favicon = require('static-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
const cors = require("cors");

var corsOptions = {
};

var routesApi = require('./app_api/routes/index');
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded());

require('./app_api/models/db')

var routesApi = require('./app_api/routes/index');

app.use('/api', routesApi)
app.use('/hello', routesApi)
app.use('/', routesApi)

module.exports = app;

app_api/routes/index.js

var express = require('express')
var router  = express.Router()

var ctrlLocations = require('../controllers/locations')
var ctrlReviews   = require('../controllers/reviews')

router.post('/', ctrlLocations.helloCreate);

module.exports = router

来自 Angular的 hello-service.service.ts

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

const baseUrl = 'http://localhost:4200';

@Injectable({
  providedIn: 'root'
})
export class HelloServiceService 
{
  constructor( private http: HttpClient ) { }

  create( data: {} ) 
  {
    console.log("data:", data)
    return this.http.post(baseUrl, data);
  }

}

首先看起来您在 nodejs 应用程序中缺少指定要侦听的端口的语句。 就像是:

app.listen(3000, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

其次,您不想向http://localhost:4200发送 POST 请求,因为它是您的前端 angular 应用程序并且不支持 POST 请求,这就是您收到 404 的原因。您想向您的节点应用程序发送请求而在上面的示例中,它将是http://localhost:3000 试试看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM