Javascript 为RESTful服务编码URI

Javascript 为RESTful服务编码URI,javascript,json,rest,encoding,Javascript,Json,Rest,Encoding,我正试图调用一个java GET-RESTful服务,其中包含来自Ionic 2(javascript)的电子邮件地址。它工作得很好,但是当我在电子邮件地址中添加一个点(例如.com)时,当它到达服务时,它会释放该点上的所有字符 为了向服务发送电子邮件地址,我如何对URI进行编码 我正在使用: '/list/email/'+encodeURIComponent(email) 但是如果电子邮件地址是:email@domain.com,它以email@domain 我试过: '/list/email

我正试图调用一个java GET-RESTful服务,其中包含来自Ionic 2(javascript)的电子邮件地址。它工作得很好,但是当我在电子邮件地址中添加一个点(例如.com)时,当它到达服务时,它会释放该点上的所有字符

为了向服务发送电子邮件地址,我如何对URI进行编码

我正在使用:

'/list/email/'+encodeURIComponent(email)

但是如果电子邮件地址是:
email@domain.com
,它以
email@domain

我试过:

'/list/email/'+email

'/list/email/'+encodeURI(电子邮件)

'/list/email/'+encodeURIComponent(email)

所有的结果都是一样的

谢谢

您可以使用:

/somepath/{variable:.+}

您可以尝试将电子邮件地址编码为Base64字符串

var encodedData = window.btoa("test@test.com"); // encode a string
var decodedData = window.atob(encodedData); // decode the string
这就是在服务器上解码Base64字符串的方法

byte[] valueDecoded= Base64.decodeBase64(bytesEncoded);
System.out.println("Decoded value is " + new String(valueDecoded));

解决办法很简单。只需在url的末尾添加一个“/”

return this.http.get(this.BASE_URI + '/list/email/' + email + '/')

电子邮件地址应以何种格式内编码?点是否到达服务器?点是否未到达服务器。只有Dotas之前的角色对不起Lukas我不明白你的问题。我希望电子邮件地址在服务器上显示的方式与在客户端上显示的方式相同。可能被认为是以.jsp或.php.asp结尾的页面…可能是..我不确定Hi Van,谢谢你的回答,但我不明白。我在一个javascript函数中执行此操作,而您使用的语法对我来说没有意义?谢谢Lukas。我可以在服务器上用java解码字符串吗?当然,你可以在服务器上解码字符串,这个问题已经在这个线程上得到了回答:哦,那太简单了