带有角度2的帖子请求的跨域api调用

时间:2017-03-31 08:12:16

标签: angular instagram-api

return this.http.post(this._InstUrl, body, options)
                               .map((res: Response) => {res.json() })
                               .subscribe(
                                        (data) => {
                                            console.log(this.Result);
                                        },
                                        (error) => {
                                             console.log(error);
                                        });

当我执行上面的代码时,它没有为我工作并显示下面提到的错误。

  

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许原点“http://localhost:55139”访问。响应的HTTP状态代码为405。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

此处以角度2

的跨域请求请求为例
 this._InstUrl = 'https://api.instagram.com/v1/media/' + listOfMedia[0].id + '/likes?access_token=' + this.hdnaccess_token;
            let headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' });
            var requestoptions = new RequestOptions({
                method: RequestMethod.Post,
                url: this._InstUrl,
                headers: headers,
            })

            return this.http.request(new Request(requestoptions))
                .map((res) => {
                    debugger;
                    if (res) {
                        //return { status: res.status, json: res.json() }
                    }
                })
                .subscribe(
                (data) => {
                    //if (this.Result.length == 0) { this.NoData = true; }
                    debugger; console.log(this.Result);
                },
                (error) => {
                    debugger; console.log(error);
                });