He estado tratando de enviar una carga útil JSON a través de un script JS, pero mis webhooks parecen no poder ver la carga útil, independientemente de lo que escriba.
Aquí está el código que reuní de varias fuentes en línea:
let xhr = new XMLHttpRequest(); xhr.open("POST","https://webhook.site/4530328b-fc68-404a-9427-3f2ccd853066/",true); xhr.setRequestHeader("Content-Type", "application/json"); let data = JSON.stringify({'eventType' : 'test'}); xhr.send(data);No soy un desarrollador de JS, pero me parece que esto debería funcionar. Sin embargo, cada vez que ejecuto este fragmento, la URL POST no muestra nada:/
¿Alguna idea de por qué eso está aquí :)?
¡Gracias por tu tiempo!
En su ejemplo, el servicio webhook.site al que intenta conectarse con su JavaScript no está habilitado (de manera predeterminada) con los encabezados CORS adecuados que los navegadores modernos respetan y aplican para mejorar la seguridad del usuario. La consola de desarrollador en su navegador de elección debería indicarle esto; el error que me devolvio el mio fue:
El acceso a XMLHttpRequest en 'https://webhook.site/5c7a5049-9c5e-4bf7-b1cf-0e05f6503bfa' desde el origen 'null' ha sido bloqueado por la política de CORS: la respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: Sin 'Acceso El encabezado -Control-Allow-Origin' está presente en el recurso solicitado.
Como indica el error, el recurso solicitado no responde con ningún encabezado Access-Control-Allow-Origin válido, lo que impedirá que el POST se ejecute por completo. En webhook.site , puede seleccionar la casilla de verificación CORS Headers CORS en la parte superior de la interfaz de usuario para permitir que el servicio envíe los encabezados CORS adecuados para que esto funcione.
let xhr = new XMLHttpRequest(); xhr.open("POST","https://webhook.site/5c7a5049-9c5e-4bf7-b1cf-0e05f6503bfa",true); // configuration interface at https://webhook.site/#!/5c7a5049-9c5e-4bf7-b1cf-0e05f6503bfa/e14fc471-4bc4-410f-b16a-0755a231fb12/1 xhr.setRequestHeader("Content-Type", "application/json"); let data = JSON.stringify({'eventType' : 'test'}); xhr.send(data);Le sugiero que use axios, será algo como esto y obtendrá la respuesta de su solicitud de publicación
const response = await axios.post('https://webhook.site/4530328b-fc68-404a-9427-3f2ccd853066/', {'eventType' : 'test'});