Javascript 使用JSONP绕过同源策略并解析数据

Javascript 使用JSONP绕过同源策略并解析数据,javascript,parsing,jsonp,same-origin-policy,Javascript,Parsing,Jsonp,Same Origin Policy,我找到了以下用于全局新冠病毒感染数据的JSON资源: 我已经尝试了这个简单的回调函数和许多变体,以验证我是否确实收到了 我可以分析的东西: <script> mycallback=function(data){ console.log('You have data! '+data) }; </script> <script src='https://opendata.ecdc.europa.eu/covid19/casedistribution/json/?call

我找到了以下用于全局新冠病毒感染数据的JSON资源:

我已经尝试了这个简单的回调函数和许多变体,以验证我是否确实收到了 我可以分析的东西:

<script>
mycallback=function(data){
console.log('You have data! '+data)
};
</script>
<script src='https://opendata.ecdc.europa.eu/covid19/casedistribution/json/?callback=mycallback'> 
</script>
但这将返回一个大而肥的nothing,没有控制台日志条目,也没有错误代码

我做错了什么


如果有人有关于如何“解析”此“数据”的技巧,我也会很感激,因为我知道我得到的在技术上是一个脚本,但即使我将响应视为原始文本,我也可以使用它。

您可以执行类似http get请求和CORS代理的操作,然后只需对返回的数据执行JSON.Parse即可。”_ツ_/“

您不能使用JSONP,因为https://opendata.ecdc.europa.eu/covid19/casedistribution/json/?callback=mycallback 不是可执行的JavaScript代码,这就是JSONP,而是JSON数据。因此,从技术上讲,您得到的并不是一个脚本-因为该端点似乎没有使用JSONP支持进行设置,因此您的回调查询参数没有任何效果。您可能想做的是,使用获取API或XHR或JavaScript库中的某个ajax函数,但是使用https://cors-anywhere.herokuapp.com/https://opendata.ecdc.europa.eu/covid19/casedistribution/json/ 作为请求URL。有关解释,请参见中的答案