Javascript 尝试从客户端的媒体API访问公共故事时出错

Javascript 尝试从客户端的媒体API访问公共故事时出错,javascript,cors,cross-browser,axios,medium.com,Javascript,Cors,Cross Browser,Axios,Medium.com,我正在尝试访问媒体的API,以从用户那里获取公共故事列表。然而,当我试图在客户端访问它时,我得到了一个CORS错误。这是密码 axios.get(`http://medium.com/@ev/latest`).then((res)=>{ console.log(res.data) }) .catch((error)=>{ console.log(error) }) 我做了一些研究,发现了这一点,但找不到任何解决办法。是否有任何方法可以使此请求在客户端工作?媒体当前不允许这样

我正在尝试访问媒体的API,以从用户那里获取公共故事列表。然而,当我试图在客户端访问它时,我得到了一个CORS错误。这是密码

axios.get(`http://medium.com/@ev/latest`).then((res)=>{
  console.log(res.data)
})
.catch((error)=>{
  console.log(error)
})

我做了一些研究,发现了这一点,但找不到任何解决办法。是否有任何方法可以使此请求在客户端工作?

媒体当前不允许这样做(服务器不使用
访问控制允许源文件
标题进行响应)。可能是出于安全考虑

正如您链接到的GitHub问题中所建议的,一个可能的解决方案是通过服务器(作为代理)将请求隧道到介质。您可以在服务器上创建端点(即
http://my-server.com/get-medium/@ev/latest
),将检索请求的媒体页面(在服务器端),并将其返回到客户端

此问题的评论描述了一种使用AWS Lambda作为代理服务器的方法-

您可以通过CORS代理(您自己设置的代理或仅使用公共开放的CORS代理)请求来获取HTML。以下是如何使用标准Fetch API执行此操作:

fetch(“https://cors-anywhere.herokuapp.com/https://medium.com/@ev/最新版本)
。然后(res=>res.text())
.then(text=>document.querySelector(“div”).innerHTML=text)
.catch(错误=>console.log(错误))