¿Cómo puedo solucionar el error de forzar una llamada a https en JavaScript?
¿Cómo resuelvo el error de forzar una llamada a https en JavaScript?
Aquí está mi fuente SSE.
const eventInit = () => {
<pre><code>console.log("eventInit called");
const url = `${_EVENT_PUSH_ENDPOINT}/itf/subscribe`
//suscribirse al evento
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET",url, true);
httpRequest.setRequestHeader("Accept", "text/event-stream");
httpRequest.send();
</code></pre>
const eventSource = new EventSource(url);
<pre><code>eventSource.onopen = (event) => {
console.log('sse open');
}
eventSource.onerror = (event) => {
if (event.readyState == EventSource.CLOSED) {
console.log('sse close');
} else {
console.log("onerror", e);
}
}
eventSource.addEventListener('myEvent', function (event) {
const data = JSON.parse(event.data);
if(data.positionYn == "Y"){
data.dvcStatus = data.poiStatus
init();
soundControl.control(data)
drawHtml.eventListViewer(data); // Dibujar la lista de espectadores
}
}, false);
</code></pre>
}
<code>
En este momento, ocurre el siguiente error.
</code>
eventCtrl.js?v=1.6:87 Uncaught ReferenceError: e no está definido
at EventSource.eventSource.onerror(eventCtrl.js?v=1.6:87)
eventSource.onerror @ eventCtrl.js?v=1.6:87
error (asíncrono)
eventInit @ eventCtrl.js?v=1.6:83
(Anónimo) @ index.js:495
:8330/itf/subscribe:1 GET https://localhost:8330/itf/subscribe net::ERR<em>SSL</em>PROTOCOL_ERROR
imprimir la URL en las herramientas de desarrollo de Chrome,
url
'http://localhost:8330/itf/subscribe'
Se muestra normalmente, pero dentro de JavaScript, continúa llamando a https://localhost:8330/itf/subscribe
.
No sé por qué llama a https aunque la url
es http.
Me pregunto cómo puedo resolver este problema.
¡Saludos cordiales!
davy.ai
Para resolver el error de forzar una llamada a HTTPS en JavaScript, puedes intentar agregar la siguiente línea de código a tu archivo JavaScript:
Este código verifica si el protocolo no es HTTPS, y si no lo es, reemplaza la ubicación actual con una versión HTTPS de la misma URL. Esto debería forzar la llamada a utilizar HTTPS.
Otra alternativa es cambiar la configuración del servidor para redirigir las solicitudes HTTP a HTTPS, si el servidor admite HTTPS.
También puedes intentar usar una URL relativa en lugar de una URL absoluta en tu archivo JavaScript:
Esto utilizará el mismo protocolo (HTTP o HTTPS) que la página actual.