Javascript 传递编码url时未找到资源
当我从我的ionic应用程序调用以下url时,我收到错误消息:Javascript 传递编码url时未找到资源,javascript,angular,typescript,asp.net-web-api,ionic-framework,Javascript,Angular,Typescript,Asp.net Web Api,Ionic Framework,当我从我的ionic应用程序调用以下url时,我收到错误消息: http://localhost:56776/api/Account/%2B17276669901/RequestResetCode?language=en-US&countryId=9305 404 (Not Found) 这就是我的typrscript文件的功能: var url= AppSettings.API_URL + 'api/Account/' + encodeURIComponent(phone)
http://localhost:56776/api/Account/%2B17276669901/RequestResetCode?language=en-US&countryId=9305 404 (Not Found)
这就是我的typrscript文件的功能:
var url= AppSettings.API_URL + 'api/Account/' + encodeURIComponent(phone) + '/RequestResetCode' + lang + '&countryId=' + AppSettings.PREFERRED_COUNTRY;
return this.http.post(url,'');
当encodeURIComponent与电话号码一起传递时,它似乎无法处理“+”。当我传递没有“+”符号的电话号码时,这会起作用。感谢您对此进行研究。仅供参考,我有asp.net web api来满足此要求。是否需要在我的api上配置一些内容
后端:
在控制器级别:[RoutePrefix(“api/帐户”)]
你为什么要对电话号码进行编码?+'s不要破坏URLSB,因为电子邮件也会调用相同的方法。我的意思是,一个人也可以传递电子邮件,而不是电话号码。因此,
电话
可以是两者,电话号码和电子邮件地址?是的,可以是其中的任何一个。现在,您可以从后端共享代码吗?404真的没什么意义:)
[AllowAnonymous]
[HttpPost]
[HttpOptions]
[Route("{UserLoginName}/RequestResetCode")]
public IHttpActionResult RequestResetCode([FromUri]string userLoginName, [FromUri]string language = null)
{
new Application.Service.RequestResetCode(userLoginName, language);
return Ok();
}
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);