gpt4 book ai didi

java - @RequestMapping( Produces = "application/json;charset=utf-8") 是否会阻止 jsonp 请求?

转载 作者:行者123 更新时间:2023-12-02 05:05:17 24 4
gpt4 key购买 nike

我正在尝试调试生产服务器上的问题,其中 Controller 内有一个方法,该方法注释为:

@RequestMapping(value = "/endpoint", method = RequestMethod.GET, produces = "application/json;charset=utf-8")

在 javascript 中,对此端点进行 ajax 调用:

$.ajax({
type: "GET",
async: true,
url: "<%=endpointUrl%>",
dataType: "jsonp",
success: function(data){
console.log("success!");
},
error: function(xhr, options, error){
console.log("fail!");
}
});

但是在 Chrome 中,我收到跨源读取阻止 (CORB) 阻止跨源响应的警告...MIME 类型 application/json。

我认为 jsonp 用于“绕过”get 请求的同源策略?为什么会被屏蔽?

编辑:附加信息,这些 header 在端点中设置:

httpResponse.setHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline' 'unsafe-eval'");
httpResponse.setHeader("X-Content-Type-Options", "nosniff");
httpResponse.setHeader("X-XSS-Protection", "1");

最佳答案

将 jsonp 更改为 json,因为您的服务器返回内容类型 JSON,但不是 jsonp。

关于java - @RequestMapping( Produces = "application/json;charset=utf-8") 是否会阻止 jsonp 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56356271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com