Estoy tratando de enviar un objeto Json a PHP, pero cuando ejecuto el código PHP no recibe nada. Obtengo el Json de transformar un archivo de excel en Json y de ahí quiero enviarlo a PHP para que lo procese y lo guarde en la base de datos. El problema es que la Red no me manda nada:
debajo de mi código:
//this code is to convert excel file in json let selectedFile; document.getElementById('importBUDid').addEventListener('change', (event)=>{ selectedFile = event.target.files[0]; }); document.getElementById('uploadBud').addEventListener('click', ()=>{ let jsonObj; if (selectedFile) { let fileReader = new FileReader(); fileReader.readAsBinaryString(selectedFile); fileReader.onload = (event)=>{ //console.log(event.target.result); let dato = event.target.result; let workbook = XLSX.read(dato, {type:"binary"}); //console.log(workbook.Strings); workbook.SheetNames.forEach(sheet => { let rowObject = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet]); //console.log(rowObject); jsonObj = rowObject; }); //console.log(jsonObj); testBud(jsonObj); } } }); //this code is to send the json object to PHP function testBud(dt1){ const dt = JSON.stringify(dt1) //console.log(dt); const data = new FormData(); const jsonBlob = new Blob([dt], {type: "application/json"}); data.append("data", jsonBlob); //console.log(data.data); console.log(data.data); fetch("model/importBud.php", { method: "POST", body: data.data, /* headers:{ 'Content-Type': 'application/json' }, */ }).then(resp => { if(!resp.ok) { const err = new Error("Response wasn't okay"); err.resp = resp; throw err; } console.log(resp); }).catch(err => { console.error(err); }); }PHP a continuación
$obj = $_POST['data']; if ($obj != "") { echo "lleno"; }else{ echo "vacío"; }Intente mover el archivo php a una carpeta pública y luego haga la llamada de búsqueda de esta manera:
fetch("./public/model/importBud.php", {method: "POST", [...]);