异常:响应状态:200 URL: Ok



我正在尝试使用instagram api来获取一些照片。不幸的是,它似乎有点难以应付其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/

这个错误是什么?我怎样才能修好它?

:我正在使用url:

https://www.instagram.com/justinbieber/media/

它不需要身份验证,您可以在浏览器或邮差中尝试。我只对Get请求感兴趣,所以我不需要post等。

您的jsonp实现看起来很好。你缺少的是将它们列为providers类似于HTTP_PROVIDERS,就像这样在你的组件中:

import {JSONP_PROVIDERS, Jsonp} from '@angular/http';
@Component({
    //...
    providers : [JSONP_PROVIDERS]
});

则可以使用subscribe来消费observable

您可以尝试以下两种解决方案

    https://www.instagram.com/justinbieber/media/
  1. getResponse () .addHeader("Access-Control-Allow-Origin"、"*");

    _jsonp -> http

  2. 更改json字符串例子:

    旧弦:"{id: 1,名字:32}"

    新字符串:" __ng_jsonp__.__req1.finished ( {id: 1,名字:32}) "

最新更新