角度内存Web API简单查询字符串不适用于@字符

时间:2018-10-24 19:52:22

标签: angular angular-in-memory-web-api

我正在将Angular2 +与in-memory-web-api一起使用,并且试图做一个简单的查询字符串。我正在传递确切的电子邮件地址,以检查用户是否已经存在。我的createDB有一对属性名称为'loginEmail'的用户和以下电子邮件:

  • john@email.com
  • jane@email.com

API URL看起来像这样:

api/accounts/?loginEmail=

如果我通过:

  

约翰

我得到一个要返回的对象。如果我通过:

  

email.com

我让两个对象都返回。但是,如果我通过:

  

john@email.com或john @

我得到 404-未找到

有人知道为什么这个东西在@字符上出错,以及如何在传递电子邮件地址时获取内存中的网络API以正确返回对象吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

一些人帮助我解决了这个问题...

您可以在email参数上使用encodeURIComponent函数,以便正确返回@符号。我正在使用下面详细说明的字符串文字,它现在可以正常工作:

`${this.apiUrl}/?loginEmail=${encodeURIComponent(email)}`