json-server - 跨源请求仅支持协议方案:http、data、chrome、chrome-extension

Posted

技术标签:

【中文标题】json-server - 跨源请求仅支持协议方案:http、data、chrome、chrome-extension【英文标题】:json-server - Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension 【发布时间】:2018-04-16 03:46:32 【问题描述】:

我正在运行一个快速服务器以在端口 8000 上为我的 angularJS 应用程序提供服务。我在我的一项服务中使用 $http.get 来访问 API。 我正在使用json-server 在 3000 上托管 API。当我在浏览器中输入 URL 时,我得到了 JSON 服务。但是当我打开应用程序时,在 devtools 中显示以下错误:

XMLHttpRequest 无法加载 localhost:3000/techData。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。

这是 angularjs 服务:

techApp.factory('techData', function ($http) 
  let data;
  $http.get('localhost:3000/techData')
    .then((response) => 
      data = response.data;
    );

    return 
      techData: data
    ;
);

我看到this issue,了解到json-server允许跨源请求。

【问题讨论】:

【参考方案1】:

好的,如果有人在这里,我没有使用带有http 的 URL。更改给$http.get 的参数如下解决了问题:

$http.get('http://localhost:3000/techData')

【讨论】:

以上是关于json-server - 跨源请求仅支持协议方案:http、data、chrome、chrome-extension的主要内容,如果未能解决你的问题,请参考以下文章

跨源请求仅支持协议方案错误反应

XMLHttpRequest 跨源请求仅支持协议方案反过来服务器

XMLHttpRequest 跨源请求仅支持协议方案反过来服务器

仅 Angular2 中的协议方案问题支持跨源请求

跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https

跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https