我正在将Angular2 +与in-memory-web-api一起使用,并且试图做一个简单的查询字符串。我正在传递确切的电子邮件地址,以检查用户是否已经存在。我的createDB有一对属性名称为'loginEmail'的用户和以下电子邮件:
API URL看起来像这样:
api/accounts/?loginEmail=
如果我通过:
约翰
我得到一个要返回的对象。如果我通过:
email.com
我让两个对象都返回。但是,如果我通过:
john@email.com或john @
我得到 404-未找到
有人知道为什么这个东西在@字符上出错,以及如何在传递电子邮件地址时获取内存中的网络API以正确返回对象吗?
谢谢!
答案 0 :(得分:2)
一些人帮助我解决了这个问题...
您可以在email参数上使用encodeURIComponent函数,以便正确返回@符号。我正在使用下面详细说明的字符串文字,它现在可以正常工作:
`${this.apiUrl}/?loginEmail=${encodeURIComponent(email)}`