Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

223
Visualizações
¿Cómo llamar dinámicamente a un ActionResult en su API usando una llamada Ajax?

He codificado en StartUp.cs el siguiente código para llamar a mi API.

 services.AddHttpClient("MyApi", c => { #if DEBUG c.BaseAddress = new Uri("https://localhost:12345"); #else c.BaseAddress = new Uri("https://myApi.com"); #endif

Pero cuando quiero llamar a ActionResult usando una llamada Ajax, no puede encontrar la API.

 alert(apiUrl); $.ajax({ url: apiUrl + '/MyApiProcesses/GetSomething', type: 'POST',

Así que he escrito esta variable en un archivo js.

 var apiUrl = 'https://localhost:12345'; //var apiUrl = 'https://myApi.com';

Quiero saber si es posible escribirlo dinámicamente. Si lo declaras en el inicio, ¿no tienes que declararlo dos veces?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Si necesita usar direcciones URL en ajax o httpclient, generalmente lo hago de esta manera, pero se necesitan varios pasos para obtener una cadena de configuración de aplicaciones.

  1. Crear la sección AppUrl en appsettings.json
 "AppUrl": { "DevUrl": "http//..", "ProductUrl": "http//..", .... another urls if needed },

2.Crear clase para esta sección

 public class AppUrlSettings { public string DevUrl{ get; set; } public string ProdUrl{ get; set; } ....another urls }
  1. configurar los ajustes en el inicio
 var appUrlSection=Configuration.GetSection("AppUrl"); services.Configure<AppUrlSettings>(appUrlSection); var urls = appUrlSection.Get<AppUrlSettings>(); services.AddHttpClient("MyApi", c => { #if DEBUG c.BaseAddress = new Uri(urls.DevUrl); #else c.BaseAddress = new Uri(urls.ProdUrl; #endif });
  1. ahora puedes usarlos así
 public class MyController:Controller { private readonly IOptions<AppUrlSettings> _appUrls; public MyController (IOptions<AppUrlSettings> appUrls) { _appUrls = appUrls; } public IActionResult MyAction() { var model= new Model { DevUrl=_appUrls.Value.DevUrl; ... } } }

luego puede usar direcciones URL como campos ocultos.

o puede obtener direcciones URL del modelo en javascript directamente:

 var devUrl = @Html.Raw(Json.Encode(@Model.DevUrl)); .....

O si necesita las URL en muchos lugares, puede tener sentido crear un servicio especial que pueda inyectar directamente en las vistas que necesita.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda