• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

290
Views
ASP.net core 3.1: Javascript: window.open: página Razor

Estoy tratando de abrir un método de página de afeitar en mi javascript y no estoy seguro de por qué se abre en http, no en https, aunque la URL está configurada en https.

A continuación se muestra mi código:

JavaScript:

 function openWindowWithPost(url, data) { var form = document.createElement("form"); form.target = "_blank"; form.method = "POST"; form.action = url; form.style.display = "none"; for (var key in data) { var input = document.createElement("input"); input.type = "hidden"; input.name = key; input.value = data[key]; form.appendChild(input); } var input = document.createElement("input"); var token = $('input:hidden[name="__RequestVerificationToken"]').val(); input.name = "__RequestVerificationToken"; input.type = "hidden"; input.value = token; form.appendChild(input); document.body.appendChild(form); form.submit(); document.body.removeChild(form); } function ButtonClickedEvent(){ var inputJSON = '{"id": 1}'; var url = location.protocol + '//' + location.host + '/Report/?handler=BatchReport'; console.log('url: ' + url); openWindowWithPost(url, JSON.stringify(inputJSON)); }

Razor Page: Código detrás:

 [Authorize] [HttpPost] public async Task<string> OnPostBatchReport([FromBody] InputParameter parametersJSON) { var somestring = await getstring(parametersJSON); return somestring ; }

Inicio.cs:

 public void ConfigureServices(IServiceCollection services) { services.AddRazorPages().AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null); services.AddAntiforgery(o => o.HeaderName = "XSRF-TOKEN"); services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.Unspecified; options.Secure = CookieSecurePolicy.SameAsRequest; options.HandleSameSiteCookieCompatibility(); }); // Sign-in users with the Microsoft identity platform services.AddMicrosoftIdentityWebAppAuthentication(Configuration); services.AddControllersWithViews(options => { var policy = new AuthorizationPolicyBuilder() .RequireAuthenticatedUser() .Build(); options.Filters.Add(new AuthorizeFilter(policy)); }).AddMicrosoftIdentityUI(); }

Mi sitio web está alojado en https://localhost:12345 y cuando hago clic en el botón, llamo a la función de javascript ButtonClickedEvent para abrir la página del informe en una pestaña separada. Esta pestaña tiene el protocolo como http, no https.

Cualquier ayuda es apreciada.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Con respecto a la aplicación hostURL , generalmente depende de la configuración del archivo launchsettings.json .

Para resolver este problema, debe configurar applicationUrl en launchsettings.json como desee mientras se ejecuta la aplicación.

launchsettings.json:

ingrese la descripción de la imagen aquí

Espero que te haya guiado en consecuencia.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error