从 Angular 前端到 json-server 的 GET 调用访问被 CORS 策略阻止的 XMLHttpRequest

Posted

技术标签:

【中文标题】从 Angular 前端到 json-server 的 GET 调用访问被 CORS 策略阻止的 XMLHttpRequest【英文标题】:GET call from Angular frontend to json-server Access to XMLHttpRequest blocked by CORS policy 【发布时间】:2019-06-06 07:13:39 【问题描述】:

我在我的本地主机上有一个角度前端客户端,并尝试对也在我的本地主机上运行的 json-server 进行 GET 调用,以获取一些数据,因为在视图上填充表格。

表格仍然是空的,我在 chrome 控制台上收到此错误:

“从源 'http://localhost:3001' 访问 XMLHttpRequest 在 'localhost:3000/cilas' 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https 。”

添加了标题属性“Access-Control-Allow-Origin”:“*”但没有结果,我还通过安装插件在 google chrome 上启用了跨源资源共享,服务器端我只运行 json- server --watch src/data/document.json 所以没有写任何代码只是将一些数据放在文件文档上,但问题似乎出在客户端。

//这里是调用和头部客户端:

标题 = 新标题( '接受': '应用程序/json', '内容类型':'应用程序/json', '访问控制允许来源':'*' );

return this.http.get(pathUrl, headers: headers ).map(res => res.json());

【问题讨论】:

【参考方案1】:

已解决。

我的网址必须是: 'http://localhost:3000/cilas'

而不是: 'localhost:3000/cilas'

错误地认为 http 是隐式的......

【讨论】:

以上是关于从 Angular 前端到 json-server 的 GET 调用访问被 CORS 策略阻止的 XMLHttpRequest的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Angular http.get 中的 json-server 读取 X-Total-Count?

如何在 json-server 上添加标头?

如何在json-server上添加标头?

带有 json-server 的 Angular 7 - 如何检索发布响应中返回的 id?

Visual Studio Code作为Angular开发工具常用插件安装json-server安装与使用angular/cli安装失败问题

json-server搭建使用