The request client is not a secure context and the resource is in more-private address space local.

Recientemente (al momento de escribir este post) Chrome se ha actualizado para ser más seguro, y en ocasiones nos va a lanzar el error que dice:

Access to fetch at ‘dominio’ from origin ‘otro_dominio’ has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space local.

Es un error de CORS pero no de los errores que conocemos. Este es nuevo, y dice:

The request client is not a secure context and the resource is in more-private address space local.

Así que en este post te mostraré de qué va ese error y por qué me interesa.

(más…)

Canvas enviado como imagen desde JavaScript a PHP

Enviar canvas de JavaScript a PHP

En el post de hoy te mostraré una cosa sencilla pero muy útil: cómo enviar un canvas de HTML a PHP usando JavaScript, para guardar ese canvas como imagen.

Cuando digo que es útil es porque yo creo que canvas nos da varias posibilidades de trabajar con imágenes o con el canvas en sí, y gracias a lo que te mostraré podrás guardar el resultado en el servidor para cualquier cosa.

Se me ocurre que por ejemplo podrías tomar una foto de una credencial de identificación, recortarla y después guardarla con PHP.

(más…)

Cambiar puerto de plugin para abrir cajón de dinero en acceso directo

Plugin para abrir cajón de dinero con JavaScript

Hoy te mostraré un plugin que he desarrollado para abrir el cajón conectado a una impresora térmica desde JavaScript. El plugin tiene ese único propósito: abrir el cajón de dinero desde JS.

Para lograr esto lo que se hace es crear un servidor web que escuche peticiones hechas desde JavaScript y mandar la orden a la impresora (proporcionada por el cliente) para que el cajón de dinero sea abierto.

Así que lo único que tenemos que hacer es una petición de JavaScript al servidor de este plugin y enviarle el nombre de la impresora.

(más…)

CRUD con MySQL, PHP, JavaScript y AJAX

CRUD con PHP, MySQL y AJAX

En este post te mostraré un ejemplo completo de CRUD que hace las operaciones fundamentales de la base de datos usando MySQL y PHP, pero además las llamadas se hacen con AJAX desde JavaScript.

CRUD con MySQL, PHP, JavaScript y AJAX

CRUD con MySQL, PHP, JavaScript y AJAX

Al final te dejaré el código completo que podrás descargar, probar y modificar, mismo que tendrá todas las operaciones para enviar y recibir datos desde JavaScript a un servidor PHP que se conecta a MySQL.

Básicamente todo se hará del lado del cliente, no vamos a procesar formularios con PHP, solo llamadas AJAX con JSON. Así que tendremos un CRUD con PHP y AJAX.

No vamos a usar ninguna librería como React, Vue o Angular; será JavaScript puro.

(más…)

Datos de sesión con fetch

En este post te mostraré cómo hacer que la sesión persista al usar la fetch API de JavaScript. Pasa que en ocasiones hacemos cosas con la sesión del lado del servidor, pero al usar fetch no se toma en cuenta la sesión.

Por ejemplo, iniciamos sesión con fetch y al querer acceder a un recurso protegido con la sesión, nos dice que no hay datos de sesión o que no estamos logueados.

Te mostraré cómo hacer que la sesión del lado del servidor (lo he probado con PHP, Go y Node.js o bueno JavaScript del lado del cliente) persista al usar fetch.

(más…)

Creando una librería HTTP de JavaScript

En este post te mostraré una envoltura de la función fetch para encerrar las peticiones básicas que se hacen con los verbos GET, POST, PUT y DELETE.

De este modo nos ahorramos repetir código y aprendemos un poco sobre la reutilización del mismo.

Al final tendremos una librería que nos permitirá hacer peticiones HTTP como cualquier otra usando AJAX.

He usado esta librería y evitado usar Axios o proveedores de terceros. El primer uso es en mi sistema de ventas, aunque también lo he usado en el sistema escolar que hice recientemente.

(más…)

Grabar vídeo de cámara con JavaScript y subirlo a PHP usando MediaRecorder, fetch, getUserMedia y FormData

Grabar vídeo con JavaScript y enviarlo a servidor con PHP

Esta es la continuación del post en donde vimos cómo grabar un vídeo (con audio incluido) usando JavaScript accediendo a la cámara web y al micrófono.

En ese mismo post tenemos enlaces a tutoriales para:

Grabar vídeo de cámara con JavaScript y subirlo a PHP usando MediaRecorder, fetch, getUserMedia y FormData

Grabar vídeo de cámara con JavaScript y subirlo a PHP usando MediaRecorder, fetch, getUserMedia y FormData

Así que es momento de grabar un vídeo con JavaScript pero enviar el resultado a un servidor con PHP.

(más…)

Subir archivos con JavaScript, fetch y FormData a PHP

Cargar archivo a PHP desde JavaScript con FormData

Introducción

Enviar datos con AJAX es algo relativamente fácil; pues al final de todo son simples datos. Ya sean cadenas o números, todo es texto. Pero algo distinto pasa cuando queremos cargar un archivo o fichero con JavaScript hacia PHP.

Esto es más complicado cuando queremos hacerlo con AJAX, pues no hay una forma estandarizada de enviar un archivo; y nos topamos con que el usuario podría seleccionar archivos pesados.

Lo que nos quedaría sería poner un formulario y agregar un <input type="file"> pero nuestra página perdería dinamismo.

Afortunadamente desde hace algunos años existe la API de FormData, la cual ofrece una manera de enviar todo tipo de datos como se enviarían en un formulario; con la ventaja de poder hacerlo sin interrumpir al usuario o recargar la página.

(más…)