Asp.net mvc 使用angular.js激活链接web api

Asp.net mvc 使用angular.js激活链接web api,asp.net-mvc,angularjs,Asp.net Mvc,Angularjs,我有一个使用angular.js的网站,我的后端使用asp.net web api。当新用户注册时,将发送一封电子邮件,其中包含激活链接和令牌,如下所示: 本地主机:51426/#/activation?userid=test&code=FCuuf27NzVvmwp2Ksd7IDt83C2XZmZ2paCrZPBLgr9qR8xCaXELvqKCsWlg4uiokb07XK5sQ+2BazHN1+2b74q14krky2ohdavewlin5ge8ugkyw+2bjffzd3qyivumxkkk

我有一个使用angular.js的网站,我的后端使用asp.net web api。当新用户注册时,将发送一封电子邮件,其中包含激活链接和令牌,如下所示:

本地主机:51426/#/activation?userid=test&code=FCuuf27NzVvmwp2Ksd7IDt83C2XZmZ2paCrZPBLgr9qR8xCaXELvqKCsWlg4uiokb07XK5sQ+2BazHN1+2b74q14krky2ohdavewlin5ge8ugkyw+2bjffzd3qyivumxkkkkk6ofhiyfzuqmzv8npipme+2fst1pouqu90krun5ktkpkpqykqykqdqv84fziw

当用户单击链接时,我有一个角度控制器,它基本上只是获取参数并调用web.api中的good方法,如下所示:

返回$http.post(baseUrl+'api/v1/account/confirmAccount?userId='+userId+'&code='+code)

问题是,似乎所有的+都被服务器端的空间替换了,所以当我尝试在我的web api中验证令牌时,它不起作用

不知道为什么+它会被空格替换,以及如何避免


谢谢

一个选项可能是先构建字符串,然后完全消除+。

问题是在查询字符串+字符中:

URL编码:

HTML指定以下转换:

  • 空格编码为“+”或“%20”[9]
您可以在服务器上用+替换空格字符:


string newCode=code.Replace(“”,+)

能否尝试将url参数传递给配置文件,而不仅仅是url<代码>$http.post(baseUrl+'api/v1/account/confirmAccount',null,{userId:myUserId,代码:myCode})请注意,第二个参数是post内容,我可以看到,在您的情况下它是空的。是的,我也这么认为,我只是希望找到更好的行为,但如果不可能,我会这样做。