Angularjs 发送带有Angular2中标题的HTTP请求

Angularjs 发送带有Angular2中标题的HTTP请求,angularjs,curl,angular,typescript,ecmascript-6,Angularjs,Curl,Angular,Typescript,Ecmascript 6,我正在尝试构建一个连接到twitter api的应用程序。为了实现这一点,我需要使用Angular2发送一个带有一组头的http get请求 注意,下面的curl请求是成功的(假设正确的键已就位) 这就是我所尝试的,唯一的问题是,使用下面的实现,我无法传递必要的头 我想知道是否有人遇到过这种情况,并对如何解决有什么建议 提前谢谢 constructor(private _http: Http) { } getTwitterResponse() { return this._

我正在尝试构建一个连接到twitter api的应用程序。为了实现这一点,我需要使用Angular2发送一个带有一组头的http get请求

注意,下面的curl请求是成功的(假设正确的键已就位)

这就是我所尝试的,唯一的问题是,使用下面的实现,我无法传递必要的头

我想知道是否有人遇到过这种情况,并对如何解决有什么建议

提前谢谢

constructor(private _http: Http) {

}

getTwitterResponse() {
         return this._http.get('https://api.twitter.com/1.1/statuses/home_timeline.json')
            .map(res => res.text);
}
带标题的Curl请求示例(已删除验证密钥)


向请求中添加标题,如下所示:

import { Headers, RequestOptions } from '@angular/http';    

getTwitterResponse() {

let headers = new Headers({ "Content-Type": "application/json" });
let options = new RequestOptions({ headers: headers });
let url = 'https://api.twitter.com/1.1/statuses/home_timeline.json';

     return this._http.get(url, options).map(res => res.text);
}
解释此处发生的情况:请求
Http
get
具有以下签名:

get(url: string, options?: RequestOptionsArgs)
第二个参数是可选的,它的类型是
RequestOptionsArgs
,这是一个用于构造
RequestOptions
的接口,这意味着您可以将
RequestOptions
作为第二个参数传递给
get
<代码>请求选项参数是一个具有以下属性的接口:

export interface RequestOptionsArgs {
    url?: string;
    method?: string | RequestMethod;
    search?: string | URLSearchParams;
    headers?: Headers;
    body?: any;
    withCredentials?: boolean;
    responseType?: ResponseContentType;
}
所有属性都是可选的,因此我们只能将
标题
传递给
选项
。您可以根据需要更改
内容类型
,并且可以添加多个标题:

headers: Headers = new Headers({
    'First header': 'First value',
    'Second header': 'Second value',
    'Third header': 'Third value',
    'Fourth header': 'Fourth value'
});
你可以在以下链接上阅读更多关于我刚刚透露的内容:


对angular1来说是这样,但angular2有点不同,先生,是的。get的第一个参数是url,第二个参数必须是RequestOptionsArgs的实例,而不是Header类型。是的,但是如果你传入Header作为第二个参数获取,你会得到一个错误。谢谢Stefan,我会尝试一下,然后再报告。在我试图调用它的线路上。\u http等。我收到一个错误,说“实例化AppComponent时出错!“,有什么想法吗?@AnchovyLegend在添加我的建议之前你的应用程序工作了吗?我发现很难相信添加
RequestOptions
get
请求会在AppComponent的实例化过程中导致
错误!
:-)你应该发布你的
AppComponent
。是的。我怀疑我的角度/npm依赖性可能已经更新了,但是,在更新了所有内容之后,我甚至无法将Http注入构造函数,而且我也没有收到任何错误。请看…@AnchovyLegend您使用的是Angular的最新版本吗?
headers: Headers = new Headers({
    'First header': 'First value',
    'Second header': 'Second value',
    'Third header': 'Third value',
    'Fourth header': 'Fourth value'
});