【发布时间】:2018-10-04 20:46:17
【问题描述】:
我的 postmethod 代码如下:
postMetadata(titleParam, rankParam) {
let headers = new HttpHeaders();
headers = headers.append(
"Authorization",
"Bearer " + this.adalService.userInfo.token
);
headers = headers.append(
"Content-Type",
"application/x-www-form-urlencoded"
);
const params = new HttpParams()
.append("title", titleParam)
.append("rank", rankParam)
.append("createdBy", "Test");
console.log(params, headers);
return this.http.post(this.ROOT_URL + "bms/metadata", {
"title": titleParam,
"rank": rankParam,
"createdBy": "Test"
}, { headers })
}
我也尝试过放 { params } 并在那里使用那个 HttpParams 对象,结果相同。还尝试将它们一个接一个地放置 { params, headers } 在这种情况下,我会得到“未经授权”,我敢肯定,这是因为它无法正确解析整个事情并且令牌混淆了。
使用邮递员,我从控制台复制粘贴了令牌,以便能够发出请求,一切正常,数据库中添加了东西。
在 Angular 的情况下,后端请求的确切错误是:
Error updating the dataabase { RequestError: Invalid column name 'undefined'.
如果我尝试登录控制台 req.query.title 等等,我得到的只是到处都是“未定义”。
后端基本上是 express + mssql (tedious.js) + passport-azure-ad。
【问题讨论】:
-
与
Content-Type : "application/x-www-form-urlencoded"github.com/angular/angular/issues/19535相关的问题
标签: angular rest express angular6 angular-httpclient