Javascript netlify客户端站点调用api端点时出现cors错误

Javascript netlify客户端站点调用api端点时出现cors错误,javascript,node.js,reactjs,netlify,Javascript,Node.js,Reactjs,Netlify,我的站点域是example.com。在我的客户端应用程序中,我有以下逻辑: api_call('process.env.NODE_ENV' + '/jobs') 因此,在netlifly部署客户端应用程序后,我可以看到它正在调用正确的api端点,即api.example.com。我也测试过了,没问题。但不知怎的,我在控制台上看到了这个错误 `OPTIONS https://api.example.com/login 404 (Not Found) Failed to load https://

我的站点域是
example.com
。在我的客户端应用程序中,我有以下逻辑:

api_call('process.env.NODE_ENV' + '/jobs')
因此,在netlifly部署客户端应用程序后,我可以看到它正在调用正确的api端点,即
api.example.com
。我也测试过了,没问题。但不知怎的,我在控制台上看到了这个错误

`OPTIONS https://api.example.com/login 404 (Not Found)
Failed to load https://api.example.com/login: 
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'https://example.com' is therefore not allowed access.`

我遗漏了什么吗?

我在我的客户端应用程序中也看到了这个错误。如果您了解CORS是什么,您就会知道它是一个必须存在于API中的头,以便程序员可以指定谁都可以访问该API。 因此,如果您的API没有此标头,并且您的客户端应用程序位于不同的域中,则不允许您的应用程序访问该API

 No 'Access-Control-Allow-Origin' header is present on the requested resource. 
这一行意味着您需要在API中使用CORS头(这是请求的资源)。
客户端应用程序中不需要任何更改

为什么我可以通过postman访问它?我在node.js服务器中添加了这个
const corsOptions={origin:'https://api.example.com,options successstatus:200//一些传统浏览器(IE11,各种智能电视)在204}app上阻塞。使用(cors(corsOptions))
,但仍有相同的错误。我使用了这个chrome扩展,即使没有CORS头,我也能够访问API。但这是一个短期解决方案。为了回答您的另一个问题,postman是一个开发工具,CORS是一种由浏览器强制实施的安全机制。所以邮递员应该工作。我发现这个链接很有用。你可以试试这个。另外,请记住CORS头必须在响应中,而不是请求中,因为API必须将该头发送到browserok,我现在知道,邮递员中允许这样做。但是在localhost中,我也不需要CORS,为什么?本地主机是否不强制执行CORS?