Estoy construyendo un sitio web en node js express con vista ejs.
Estoy tomando algunos datos de una matriz y guardándolos en el almacenamiento de la sesión.
luego lo encadeno y lo atrapo en una llamada de función conectada a un clic de tarjeta HTML.
pero cada vez que encadeno los datos analizados y los paso a los datos de ajax.
La llamada a la API no está sucediendo dando un error indefinido.
Aquí está mi código:
const parsedData = JSON.parse(localStorage.getItem('myData')); console.log(parsedData, 'parsedData'); var d = JSON.stringify(parsedData); console.log(d, 'd'); const container = document.getElementById('s1'); parsedData.data.rows.forEach((result, idx) => { var pid = result.master_id; var session = result.session_name; console.log(pid, session, 'a', 'b'); var c = { pid, session }; console.log(c, 'csdc'); var userData = c; sessionStorage.setItem('user', JSON.stringify(userData)); console.log(userData, 'data for api'); const card = document.createElement('div'); card.classList = 'card'; const content = ` <div class="row"> <div class="card" id="${result.master_id}" onclick="approve(this.id)" > <div class="card-body" id="${c}" onclick="graphApi(this.id)"> <br>` ... });en mis ejs. usando este id="${c}" onclick llamo a esta función,
function graphApi(id) { var json = JSON.parse(sessionStorage.getItem('user')); console.log(json, 'value from card'); var data = JSON.stringify(json); console.log(data1, 'data1 here'); $.ajax({ type: 'POST', data: data, dataType: 'json', url: 'http://localhost:5000/graphFromcsvfile', success: function (data) { alert('success'); console.log(data, 'graph api'); }, error: function (err) { alert('graph api failed to load'); console.log(err); }, }); }Recibo un error de ajax en el navegador que dice:
responseJSON: { message: 'Error: WHERE parameter "pid" has invalid "undefined" value'; } responseText: '{"message":"Error: WHERE parameter \\"pid\\" has invalid \\"undefined\\" value"}';Saludos.