Когда я вызываю следующий URL из моего ионного приложения, я получаю сообщение об ошибке:
http://localhost:56776/api/Account/%2B17276669901/RequestResetCode?language=en-US&countryId=9305 404 (Not Found)
Это то, что есть в моем файле машинописи:
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 вместо?
Backend:
На уровне контроллера: [RoutePrefix("api/Account")]
[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 }
);