簡體   English   中英

如何將數據從 ajax 發送到后端快遞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM