我正在尝试从inmemory db angular创建虚拟登录,而不使用任何json文件或live api作为我正在使用的用户对象的内存服务。
const users = [
{ id: 1, userName: 'abhijeet', password: 'abh@123'},
];使用http响应
const url = `${environment.apiEndPoint}users?userName=^${user.userName}$&password=^${user.password}$`;
this.http.get<UserDetails>(url).subscribe(resp => {
let user = resp;错误是
{body: {…}, url: "/api/users?userName=^abhijeet$&password=^abh@123$", headers: HttpHeaders, status: 404, statusText: "Not Found"}
body:
error: "Collection 'undefined' not found"
__proto__: Object
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
status: 404
statusText: "Not Found"
url: "/api/users?userName=^abhijeet$&password=^abh@123$"如果我从密码字段中删除@,并使用下划线,我得到的是正确的响应,但@不适用于任何字段。
发布于 2021-06-20 11:55:28
你不应该在的get调用中使用那些http @。它将以编码的形式出现。
但对于登录,它应该与这些值完全匹配。
试试看,它会起作用的。
const url = `${environment.apiEndPoint}users?userName=${user.userName}$&password=encodeURI(${user.password})$`;
this.http.get<UserDetails>(url).subscribe(resp => {
let user = resp;https://stackoverflow.com/questions/63296005
复制相似问题