gpt4 book ai didi

javascript - 返回 MIME 类型错误的 JSONP 脚本

转载 作者:行者123 更新时间:2023-11-29 19:03:07 26 4
gpt4 key购买 nike

您好,我目前正在编写一个脚本,该脚本必须从返回 json 文件的第三方提要中提取信息。我无法使用 CORS,因为我没有服务器访问权限,因此根据案头研究,我被告知使用 JSONP。我可以在 chrome 网络选项卡中看到回调(响应),但无法读取 chrome 日志中的文件。关键是当我执行以下代码时,我得到了下面的错误消息。我无法关闭 MIME 类型检查。我试图查看其他问题,但找不到任何类似的问题。应该怎么办?

“拒绝执行来自‘https://siteurl.com/json=jsonp&callback=jQuery321030035432758818903_1501098778362&_=1501098778363’的脚本,因为它的 MIME 类型(‘application/json’)不可执行,并且启用了严格的 MIME 类型检查。”

<script src="jquery.js"></script>
<script>
$.ajax({
type: 'GET',
url: 'siteurl.com/json?callback=jsonp',
dataType: 'jsonp',
xhrFields: {
withCredentials: false
},
headers: {
"Accept" : "application/json; charset=utf-8",
"Content-Type": "application/javascript; charset=utf-8",
"Access-Control-Allow-Origin" : "*"
},
success: function (result) {
console.log(result);
},
error: function (xhr, errorText) {
console.log('Error ' + xhr.responseText);
}
});
</script>

查看网络选项卡:

Network tab view

最佳答案

JSONP 不是 JSON! JSONP 是一个 JavaScript 程序,由带有一个参数的函数调用组成。

正确的内容类型是application/javascript


I am not able to use CORS since I do not have server access, so based on desk research I was informed to use JSONP.

如果网站提供 JSONP,您只能使用 JSONP。 (现在他们应该改用 CORS,它在各个方面都更好)。只是在查询字符串中添加 callback 不会神奇地强制站点提供 JSONP 并为您破坏同源策略。该站点必须明确地将数据公开给其他站点。

关于javascript - 返回 MIME 类型错误的 JSONP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45348384/

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