如何将数据从ajax发送到后端express



我想使用nodejs将数据从前端发送到后端nodejs,我该怎么做?

这是我的ajax代码


const news = document.getElementById("news");
news.addEventListener('click',(e) =>{
e.preventDefault();
let data = " ";
const xhttp = new XMLHttpRequest();
const url = 'https://newsapi.org/v2/top-headlines?category=technology&apiKey=<api_key>';
xhttp.open('GET',url, true);
xhttp.onreadystatechange = function(){
if(this.status === 200 && this.readyState === 4){
let data = JSON.parse(this.response);
}
}
xhttp.send();
})

后端代码是


const newsController = () => {
return{
getNews(req, res){
console.log(res)
},

}
}
module.exports = newsController;

数据应该在get路由上发送到后端,这样我就可以在html页面上呈现数据。

您可以尝试此代码,但我从本例中删除的层userService和userRepo太多了。

App.js

import express from "express";
import { userRouter } from "./routes/userRoutes.js";
const PORT = process.env.PORT || 8080;
const app = express();
app.use(express.json());
app.use('/api', userRouter);
app.listen(PORT, () => console.log(`http://localhost:${PORT}`));

userRoutes.js

import userController from "../controller/userController.js";
import { Router } from "express";
const router = new Router();
router.get('/users', userController.getUsers.bind(userController));
export {router as userRouter}

userController.js

import userService from "../service/userService.js";
class UserController {
constructor(userService) {
this.userService = userService;
}

async getUsers(req, res) {
res.json(await this.userService.getUsers());
}
}
export default new UserController(userService);

或者你可以使用官方文件快递。

最新更新