Javascript 传递编码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)

当我从我的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) + '/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 }
            );