例外:响应状态为:200 好的 URL:
Posted
技术标签:
【中文标题】例外:响应状态为:200 好的 URL:【英文标题】:EXCEPTION: Response with status: 200 Ok for URL: 【发布时间】:2016-12-14 20:10:05 【问题描述】:我正在尝试使用 instagram api 获取一些照片。
不幸的是,处理its CORS 问题似乎有点困难。
所以我决定使用Jsonp.get
来传递它。
这是我的服务:
import Http,Headers from '@angular/http';
import Observable from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import Injectable from '@angular/core';
import Gallery from './gallery';
import Jsonp from '@angular/http';
@Injectable()
export class InstagramService
constructor( private _http:Http,private _jsonp: Jsonp )
getGallery(username: string) : Observable<Gallery>
return this._jsonp.get("https://www.instagram.com/justinbieber/media/" ).map(res => res.json());
问题是,当我运行我的代码时,我遇到了错误:
EXCEPTION: Response with status: 200 Ok for URL: https://www.instagram.com/justinbieber/media/
那么这个错误是什么? 我该如何解决?
要点: 我正在使用网址:
https://www.instagram.com/justinbieber/media/
它不需要认证,你可以在浏览器或邮递员中尝试。
而且我只对Get
请求感兴趣,所以我不需要post
等。
【问题讨论】:
该 URL 不支持 jsonp,因为您在服务器端进行操作,只需执行常规 http.get,它应该可以工作 @krisrak 当我使用 hhtp.get 时它会抱怨 cors。我对 cors 无能为力。我在吗? 它应该可以工作,我使用与 python 相同的 url 没有问题,当你使用 javascript 在客户端进行调用时,CORS 是一个问题,但在服务器端它不应该是一个问题跨度> 你得到答案了吗? @user5363938 这个问题你解决了吗?它也发生在我身上,我不知道该怎么办。 【参考方案1】:jsonp
的实现看起来不错。您缺少的是将它们列为providers
,类似于您的组件中的HTTP_PROVIDERS
:
import JSONP_PROVIDERS, Jsonp from '@angular/http';
@Component(
//...
providers : [JSONP_PROVIDERS]
);
然后你可以使用 subscribe
消费 observable。
【讨论】:
它是服务所以没有组件 然后尝试在main.ts
文件中的bootstrap
方法中添加它。
有帮助吗? @user5363938
很遗憾,不是。【参考方案2】:
你可以试试这两种解决方案
https://www.instagram.com/justinbieber/media/
getResponse().addHeader("Access-Control-Allow-Origin","*");
_jsonp ---> http
改变json字符串 示例:
旧字符串:“id:1,name:32”
新字符串:"__ng_jsonp__.__req1.finished(id:1,name:32)"
【讨论】:
以上是关于例外:响应状态为:200 好的 URL:的主要内容,如果未能解决你的问题,请参考以下文章
AWS CORS 问题:即使在获得 200 状态代码后,Ajax 响应也会出现错误