You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js向PHP服务器发送POST请求时为何触发Preflight/OPTIONS请求?

问题

我通过Node.js服务器使用Axios向另一台PHP服务器发送POST请求,请求的Content-Type为application/json,请问这种场景下Node.js服务器是否会向PHP服务器发起Preflight/OPTIONS请求?

请求代码如下:

var axios = require('axios');
var data = {"disco_name":disco,
  "amount": 1000,
  "meter_number": 2737373,
  "MeterType": PREPAID
}
var config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://datastationapi.com/api/billpayment/',
  headers: {
    'Authorization': 'Token 3cd8882f7e5e92', 
    'Content-Type': 'application/json'
  },
  data : data
};
axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
解答

不会发起Preflight/OPTIONS请求。

原因很明确:Preflight请求是浏览器CORS机制独有的行为,仅在浏览器环境下针对跨域AJAX请求触发。而你是在Node.js服务器端用Axios发起HTTP请求,属于服务器之间的通信,不受浏览器的CORS策略约束,Axios会直接发送你配置的POST请求,不会额外发送OPTIONS预请求。

补充说明:如果你的PHP服务器本身配置了OPTIONS请求的处理逻辑(比如为了支持浏览器端的跨域请求),那是PHP服务器的独立设置,但Node.js发起请求时不会主动触发这个步骤。

内容的提问来源于stack exchange,提问作者Rareclint

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 08:10:55