Quiero enviar la imagen como código base64 a la hoja de Google usando fetch , pero cuando ejecuto mi código, mostrará el error "data_sent no está definido".
Quiero saber dónde está el problema y cómo solucionarlo.
*imagen es la variable para guardar la imagen creada por canvas, image_data es la variable para guardar la base64 de la imagen
this.saveAsImg = function() { var image = new Image(); image.src = this.canvas.toDataURL("image/png"); if (image.src == this.emptyCanvas) { alert('請先書寫') } else { console.log('提交的內容===>', image.src) } return image.src; }; var image_data; document.getElementById('save').onclick = function() { image_data = writeCanvas.saveAsImg(); }; function post_trigger(image_data, uuid) { let url = 'localhost:5050'; let data_sent = image_data; fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: data_sent //deviceID: uuid }) }).then((response) => { return response.json(); }).then((jsonData) => { console.log(jsonData); }).catch((err) => { console.log('錯誤:', err); }) } document.getElementById('save').onclick = post_trigger(image, uuid);Cambié mi código y aquí está el nuevo código. Puede conectarse a api y publicar URI de datos con éxito.
let post_trigger = document.getElementById('sent'); post_trigger.addEventListener('click', async function() { let url = 'http://127.0.0.1:5000/test2'; let formData = new FormData(); formData.append("email", str); let result = await fetch(url, { method: 'post', body: JSON.stringify({ uri: str }), headers: { 'content-type': 'application/json' }, }).then(res => { return res.text(); }) alert(result); })