Nodejs一次触发两个请求

Nodejs Two requests are getting fired at a time

本文关键字:两个 请求 一次 Nodejs      更新时间:2023-09-26

为什么我的NodeJS应用程序每次发射两个requests ?我不知道为什么这个选项每次都被解雇,当我实际上只调用HTTP方法=> [GET, POST, PUT, DELETE]

OPTIONS /api/v1/admin/user/55e1d606803478cc1edacfa0 200 0.149 ms - -
DELETE /api/v1/admin/user/55e1d606803478cc1edacfa0 200 7.598 ms - 58

下面是我调用OPTIONS的代码。

app.all('/*', function(req, res, next){
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "GET, PUT, POST, DELETE, OPTIONS");
    res.header("Access-Control-Allow-Headers", "Content-type,Accept,X-Access-Token,X-Key");
    if(req.method === 'OPTIONS'){
        res.status(200).end();
    } else {
        next();
    }
});

因为这两个users同时被删除。

为什么我的NodeJS应用程序每次触发两个请求?

它不是;浏览器是。

我不知道为什么这个选项每次都被解雇,当我实际上只调用HTTP方法=> [GET, POST, PUT, DELETE]

很可能是因为你正在进行跨域调用,在web浏览器中使用ajax。OPTIONS调用是浏览器在真正调用之前进行的preflight调用,以确保目标服务器接受来自给定源的跨源调用,如果是,则找出服务器从该源接受的报头、方法、凭据等。

详细说明

并不是所有的跨域呼叫都需要飞行前,但许多(可能是大多数)需要;规则在这里