首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:使用in-memory-web-api时找不到集合(未使用任何实时api或json数据)

错误:使用in-memory-web-api时找不到集合(未使用任何实时api或json数据)
EN

Stack Overflow用户
提问于 2020-08-07 13:55:55
回答 1查看 150关注 0票数 0

我正在尝试从inmemory db angular创建虚拟登录,而不使用任何json文件或live api作为我正在使用的用户对象的内存服务。

代码语言:javascript
复制
const users = [ 
      { id: 1, userName: 'abhijeet', password: 'abh@123'},
    ];

使用http响应

代码语言:javascript
复制
const url = `${environment.apiEndPoint}users?userName=^${user.userName}$&password=^${user.password}$`;
    this.http.get<UserDetails>(url).subscribe(resp => {
      let user = resp;

错误是

代码语言:javascript
复制
{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$"

如果我从密码字段中删除@,并使用下划线,我得到的是正确的响应,但@不适用于任何字段。

EN

回答 1

Stack Overflow用户

发布于 2021-06-20 11:55:28

你不应该在的get调用中使用那些http @。它将以编码的形式出现。

但对于登录,它应该与这些值完全匹配。

试试看,它会起作用的。

代码语言:javascript
复制
const url = `${environment.apiEndPoint}users?userName=${user.userName}$&password=encodeURI(${user.password})$`;
    this.http.get<UserDetails>(url).subscribe(resp => {
      let user = resp;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63296005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档