我正在尝试发出这样的 HTTP 请求:
login(username, password) {
let body = {
userid: username,
password: password
}
let options = {
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'),
withCredentials: true
};
let request = this.http.post(this.baseUrl, body, options);
request.subscribe();
}
这将返回 500 内部服务器错误。但是,如果我将 body 变量修改为如下所示:
login(username, password) {
let body = 'userid=' + username + '&password=' + password;
let options = {
headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded'),
withCredentials: true
};
let request = this.http.post(this.baseUrl, body, options);
request.subscribe();
}
它工作正常。我已经看到文档中使用的第一个版本,但由于某种原因,它对我来说不起作用。我在想:
A)这些陈述应该是等价的吗?有语法问题吗?-或者-
B) 后端有问题吗?在我们的服务器日志中,我们得到类似“参数@userIdentifier 是预期但未提供”的信息。
我必须选择可行的,但如果可能的话,我想使用第一个语句的语法。谢谢!