'POST http://127.0.0.1:5500/add 405 (Method Not Allowed)

Could you help me solve this error? It seems that I can not connect between server.js and app.js.

What I want to do is: display the result of the postData('/add', {answer:42}); and postData('/addMovie', {movie:'the matrix', score:5}); in the console.

Thank you for your help in advance.

error image

server.js

// Setup empty JS object to act as endpoint for all routes
projectData = {};

// Require Express to run server and routes
const express = require('express');//add

// Start up an instance of app
const app = express();//add

/* Dependencies */
const bodyParser = require('body-parser') //add
/* Middleware*/
//Here we are configuring express to use body-parser as middle-ware.
//we can connect the other packages we have installed on the command line to our app in our code with the .use() method
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// Cors for cross origin allowance
const cors = require('cors');//add
app.use(cors());//add

// Initialize the main project folder
app.use(express.static('website'));

////////////////////creating a local server
const port = 5500;//add
// Setup Server
//////////////////////add
const server = app.listen(port, listening);
function listening(){
    // console.log(server);
    console.log(`running on localhost: ${port}`);
};

app.get('/all', function (req, res) {
    res.send(projectData)
})

// POST route
const data = []
app.post('/add', callBack);

function callBack(req,res){
    res.send('POST received');
    console.log(data)
}

const movieData = []
app.post('/addMovie', addMovie )

function addMovie (req, res){
    movieData.push(req.body)
    console.log(movieData);
}

app.js app.js

[Addition] Thank you for your feedback!! I changed the port in server.js, but nothing changed. port5500



Solution 1:[1]

The issue was resolved.

// when using local server ( ? server.js in this case)
postData('/add', {answer:42});
postData('/addMovie', {movie:'the matrix', score:5});

// when using live server
postData('http://localhost:5500/add', {answer:42});
postData('http://localhost:5500/addMovie', {movie:'the matrix', score:5});

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Coffeeee