Javascript 为什么在服务器端设置访问控制允许源站后仍然存在跨源错误?

Javascript 为什么在服务器端设置访问控制允许源站后仍然存在跨源错误?,javascript,node.js,cross-domain,Javascript,Node.js,Cross Domain,我刚刚运行了一个CORS跨源演示。该演示使用node.js运行。以下是index.html: 单击以使用CRO跨原点 hello world您还需要允许http谓词与头访问控制allow方法一起使用: 这个答案有更详细的描述: 您发布的代码应该有效 var express=需要“express”; var-app=express; var响应端口=3001; app.all/,functionreq,res,next{ res.header'Access-Control-Allow-Origin

我刚刚运行了一个CORS跨源演示。该演示使用node.js运行。以下是index.html:

单击以使用CRO跨原点
hello world您还需要允许http谓词与头访问控制allow方法一起使用:

这个答案有更详细的描述:

您发布的代码应该有效

var express=需要“express”; var-app=express; var响应端口=3001; app.all/,functionreq,res,next{ res.header'Access-Control-Allow-Origin','http://localhost:3000'; res.header'Access-Control-Allow-Methods'、'GET、PUT、POST、DELETE'; 下一个 }; app.get'/',req,res=>{ res.set'Access-Control-Allow-Origin','http://localhost:3000';
来自CROS的res.sendHello world。可能是No的重复,它不起作用。我将代码更改为app.all'/',function req,res,next{res.header'Access-Control-Allow-Origin','http://localhost:3000“;res.header'Access-Control-Allow-Methods'、'GET、PUT、POST、DELETE';res.sendholl world from CROS.可能我错过了选项方法…我会添加它。你是否按照我发布的链接上的说明进行了操作?你的评论没有选项方法…查看更新的answerI将尝试它。但是我的请求是PUT,为什么需要设置包括选项的访问控制允许方法?选项请求正在传递。您需要在代码中处理PUT请求。我已经处理了它打印数据。您确定吗?再次尝试点击repl。我添加了一个PUT路由,404与cors btw无关:。这应该是与您在代码中编写的e PUT处理程序与您发布的问题无关。它可以工作。但我对代码感到困惑,因为这是PUT请求,我们可以在保留app.PUT的同时删除app.get吗?
res.header('Access-Control-Allow-Origin', 'http://localhost:3000');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');