javascript - POST http://localhost:4200/ 404 未找到(从 Angular 到 Nodejs 的请求)
问题描述
我想知道我在这里做什么:
我在这里遇到的错误是什么意思?它说明了什么?解决这个问题的方法是什么?
app.js
从node.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}`)
})
其次,您不想向其发送 POST 请求,http://localhost:4200
因为它是您的前端 Angular 应用程序并且不支持 POST 请求,这就是您收到 404 的原因。您希望将请求发送到您的节点应用程序,而不是在上面的示例中是http://localhost:3000
。试试看。
推荐阅读
- python-3.x - 是否有将字符串拆分为单个字符的方法?(Python)
- java - Spring OAuth2 提取自定义用户信息
- c# - 悬停时动态更改控件颜色而不在悬停子项时更改回来
- android - 如何从 Chrome 共享文本中获取 URL
- angular - 如何在 Angular 8 中使用语义 UI
- c++ - 单个循环中的两条语句是否比每个循环中的一条语句更快?
- javascript - 如何更新正确位置的值?
- reactjs - 不存在 id 为 0 的类 .db.model.FileDB 实体?
- python - 是否可以在 Python 中将以下奇怪的 .XLS 文件(实际上是某种 HTML/XML 格式)转换为 .XLSX?
- c++ - 我必须检查一个字符串是否是回文或不使用字符串迭代