我目前对tslint有意见,希望有人能给我指出正确的方向。
我正在尝试使用Angular2框架提供的HTTP发送HTTP GET请求。对于这个请求,我必须指定内容类型和承载身份验证令牌。
我的代码示例:
let headers = new Headers();
let authToken = this._user.getUser().JWT;
headers.append('Content-Type', 'application/json');
headers.append('Authorization', `Bearer ${authToken}`);
let options = new RequestOptions({ headers: headers });
this._http.get('http://' + url '/', options)
.timeout(3000)
.subscribe(
(res) => {
然而,tslint抱怨说
“TS2345:类型为{headers:headers;}的参数”不可分配给“RequestOptionsArgs”类型的参数。属性“headers”的类型不兼容。类型“headers”不可分配给类型“headers”。存在两种具有此名称的不同类型,但它们不相关。类型“headers”中缺少属性“keys”。“
我感谢你们的支持。
角5的更新
import { RequestOptions } from '@angular/http';
我在正确答案的评论中发现了这一点,所以如果这对某人有帮助,祝你好运。
文档:https://angular.io/api/http/RequestOptions
您必须通过以下方式更新标题:
let headers = {headers: new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded'})};
使现代化
到今天为止,@angular/http
已经被弃用,应该改用@angular/common/http
。因此,使用http头的最佳方法是从“@angular/common/http”导入import{HttpHeaders}
(文档)。
老答案
您应该导入的
导入{Headers}。Headers
类型是从'@角/超文本传输协议';
检查您的进口
你好,我正试图使用中的模块进行获取请求。 在(1.5)中,一切都可以正常编译,但是在控制台中显示以下错误: 我确实看了站点,但看不出有什么问题。 没有任何更改到 编辑:我的services.ts文件更改以使此工作:
这是我的第一个问题。我对API上的http请求有问题。当我发出请求时,控制台上会显示以下错误: 异常:找不到不同类型'对象'的支持对象'[对象对象]'。NgFor仅支持绑定到Iterable,如Array。 每个文件的内容如下: 靴子ts 应用程序。组成部分ts peli.service.ts peli.ts 以及我从请求中收到的JSON文件(输入-蜘蛛侠): 我不知道问题出在哪里,一切似乎都很好
问题内容: 作为此问题的后续,我想知道如何在Spring 3 MVC应用程序中处理OPTIONS请求。我不想在我的spring代码中为每个端点编写一个选项处理方法。但是建议的将选项处理程序映射到“ / **”仅适用于尚未具有处理程序的端点。 因此,我想到了使用mvc拦截器来拦截OPTIONS请求以处理跨站点访问的问题。但我无法想象这是做到这一点的最佳方法。是否还有其他选项,例如在同一路径上具有不同
我试图做一个POST请求,但我不能让它工作: 我基本上想复制这个超文本传输协议请求(不是ajax),就像它是由html表单发起的一样: URL:/api 参数:用户名和密码
我正在尝试添加基本身份验证到我的angular2应用程序。 为什么Angular2的http首先发送选项? 多谢了。
我是AngularJS的新手。我正在使用AngularJS 1.3.15版本。当我尝试使用PUT方法调用api时,它正在生成OPTIONS请求。我不知道我在哪里做错了。我尝试了很多Stockoverflow中建议的方法,但仍然没有得到任何东西。请帮助我解决这个问题。下面是我的控制器、模型、html文件和Chrome开发人员工具网络活动截图。 控制器文件users.js 模型文件-users.js