跨域请求被封堵是由于浏览器的同源策略(Same-Origin Policy)禁止了在一个源(域名、协议、端口)下的页面去请求另一个源下的资源。同源策略是为了保护用户的安全,防止恶意网站获取用户的敏感信息。
在这个问题中,由于请求的资源位于不同的源(https://2020 node js的远程资源),因此会触发跨域请求被封堵的情况。
为了解决跨域请求被封堵的问题,可以采用以下方法:
- JSONP(JSON with Padding):JSONP是一种跨域请求的解决方案,通过动态创建<script>标签,将请求的数据作为回调函数的参数传递回来。但是JSONP只支持GET请求,且存在安全风险,容易受到XSS攻击。
- CORS(Cross-Origin Resource Sharing):CORS是一种跨域请求的标准,通过在服务器端设置响应头部,允许指定的源访问资源。可以在服务器端设置Access-Control-Allow-Origin来指定允许访问的源,例如Access-Control-Allow-Origin: https://example.com。
- 代理服务器:可以通过在自己的服务器上设置代理,将跨域请求转发到目标服务器上,然后将响应返回给客户端。这种方式需要自己搭建代理服务器,并且增加了服务器的负担。
- WebSocket:WebSocket是一种全双工通信协议,可以在浏览器和服务器之间建立持久连接,实现实时通信。由于WebSocket是在HTTP协议之上建立的,因此不受同源策略的限制。
以上是常见的解决跨域请求被封堵的方法,根据具体的场景和需求选择合适的方法进行解决。
腾讯云相关产品推荐:
- 腾讯云API网关:提供了跨域资源共享(CORS)配置,可以通过配置API网关的CORS规则来解决跨域请求的问题。详情请参考:API网关CORS配置
- 腾讯云CDN:通过配置CDN加速域名的回源规则,可以实现跨域请求的转发。详情请参考:CDN回源配置
注意:以上推荐的腾讯云产品仅供参考,具体选择还需根据实际需求进行评估和决策。