[英]how to send data from ajax to backend 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;
數據應該在獲取路由上發送到后端,以便我可以在 html 頁面上呈現數據。
您可以嘗試此代碼,但我從此示例中刪除了層 userService 和 userRepo,它們過多。
應用程序.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}`));
用戶路由.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}
用戶控制器.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);
或者您可以使用官方文檔中的快遞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.