首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角6 http获取JSON

角6 http获取JSON
EN

Stack Overflow用户
提问于 2018-10-11 12:27:54
回答 4查看 3.2K关注 0票数 0

我在从某些json文件中获取信息时遇到了困难。

案例1(作品):

服务:

代码语言:javascript
复制
private xmlToJson: string = 'https://rss2json.com/api.json?rss_url=';

getImg(Url: string) {
return this.http.get(this.xmlToJson + Url);
}

构成部分:

代码语言:javascript
复制
private url='https://api.flickr.com/services/feeds/photos_public.gne';

public images: any = [];

this.imgDataService.getImg(this.url)
  .subscribe(data => this.images = data);

HTML:

代码语言:javascript
复制
<h1>{{images.feed.title}}</h1>

案例2(不起作用):

服务:

代码语言:javascript
复制
getImg(Url: string) {
return this.http.get(Url);
}

构成部分:

代码语言:javascript
复制
private url = 'https://api.flickr.com/services/feeds/photos_public.gne?format=json&nojsoncallback=1';

public images: any = [];

this.imgDataService.getImg(this.url)
  .subscribe(data => this.images = data);

HTML:

代码语言:javascript
复制
<h1>{{images.title}}</h1>

知道为什么2号案子不管用吗?我在这里运行了两个JSON:https://jsonlint.com/,它们都是有效的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-10-11 16:52:52

您有一个CORS错误。

下面是一个StackBlitz,显示了这两个调用以及从服务器返回的内容。对Flickr的调用失败,因为Flickr没有(至少在此服务上)返回访问头-控制-允许-原产地来启用公共访问。

具有讽刺意味的是,您可以从运行在web浏览器中的而不是的任何代码中调用web服务。

由于您可能无法说服他们(其他人已经尝试过),我建议您放弃Flickr。

最后一个注意事项:如果打开浏览器的开发工具并检查控制台,您将能够看到错误。这应该是你在网络开发中遇到的任何奇怪行为的第一站。

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 12:38:08

public images: any = []更改为public images: any = {}

图像数据不是数组。

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 12:40:45

代替this.imgDataService.getImg(this.url)类型的this.imgDataService.getImg(this.url2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52760092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档