Access to from origin ‘null‘ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ heade

31 篇文章 0 订阅
10 篇文章 0 订阅
Access to XMLHttpRequest at 'http://localhost:8080/postgres/mvt/source/834/428/10' from origin 
'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

查看其它成功的请求,发现需要给response header加上这个

response.addHeader("access-control-allow-origin", "*");
@Log
@RestController
@RequestMapping("my")
public class MyController {

    private Connection connection;

    @RequestMapping(value = "source/{x}/{y}/{z}",produces = MediaType.IMAGE_PNG_VALUE)
    public byte[] st_AsMvt(@PathVariable("x") Integer x, @PathVariable("y") Integer y, @PathVariable("z") Integer z,HttpServletResponse response) throws Exception {
        /*...*/
        response.addHeader("access-control-allow-origin", "*");
        return bytes;
    }
}
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此插件为跨域插件,打开后可跨域访问接口,旧版浏览器可直接拖到扩展程序中安装,新版浏览器需要将扩展名修改成rar并解压,然后点击“加载已解压的扩展程序”安装。 ======================插件概述谷歌译文====================== 轻松将(Access-Control-Allow-Origin:*)规则添加到响应标头。 允许CORS:通过Access-Control-Allow-Origin,您可以轻松地在Web应用程序中执行跨域Ajax请求。 只需激活插件并执行请求。默认情况下(在JavaScript API中),CORS或跨源资源共享在现代浏览器中被阻止。安装此加载项将使您可以解除阻止此功能。请注意,将插件添加到浏览器后,默认情况下它处于非活动状态(工具栏图标为灰色C字母)。如果要激活加载项,请按一次工具栏图标。图标将变为橙色的C字母。 ======================插件概述谷歌译文====================== ========================插件概述原文======================== Easily add (Access-Control-Allow-Origin: *) rule to the response header. Allow CORS: Access-Control-Allow-Origin lets you easily perform cross-domain Ajax requests in web applications. Simply activate the add-on and perform the request. CORS or Cross Origin Resource Sharing is blocked in modern browsers by default (in JavaScript APIs). Installing this add-on will allow you to unblock this feature. Please note that, when the add-on is added to your browser, it is in-active by default (toolbar icon is grey C letter). If you want to activate the add-on, please press on the toolbar icon once. The icon will turn to orange C letter. ========================插件概述原文========================
"CORS policy: No 'Access-Control-Allow-Origin'" 是一种错误提示信息。这种错误通常发生在前端网页或浏览器发送跨域请求时,由服务器返回的响应头中缺少了"Access-Control-Allow-Origin"字段。CORS是浏览器实现的一种安全策略,用于限制跨域请求的访问权限。 "Access-Control-Allow-Origin"字段用于指定允许访问该资源的来源地址。如果服务器没有设置该字段,或者值设置为与请求的源不匹配,浏览器就会拒绝该跨域请求,出现"CORS policy: No 'Access-Control-Allow-Origin'"错误。 要解决这个问题,一种常见的方法是在服务器端添加响应头信息,指定允许访问该资源的来源地址。可以使用后端开发语言如Java、Python、Node.js等编写逻辑代码,在服务器响应请求时添加正确的响应头。 例如,在Node.js中,可以使用以下代码为服务器响应添加正确的CORS头信息: ``` res.setHeader('Access-Control-Allow-Origin', 'http://www.example.com'); // 设置允许访问的来源地址 res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); // 设置允许的请求方法 res.setHeader('Access-Control-Allow-Headers', 'Content-Type'); // 设置允许的请求头 ``` 上述代码中,将`http://www.example.com`替换为允许访问的来源地址,可以使用通配符`*`表示允许任意来源。通过设置合适的请求方法和请求头,可以进一步指定跨域请求的访问限制。 除了在服务器端进行设置,也可以使用代理服务器或者浏览器插件来绕过跨域限制,但这些方法并不推荐使用,因为它们可能引入其他安全风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值