var collocazioneGlob; function customApiSearch(documentId) { var serverURL = "http://opac.campania.inera.it/opac2/api/"; var poloCode = "CAM"; var apiURL = serverURL + poloCode + "/search/documents"; var requestData = { filters: { filters: [{ operator: "AND", filters: [{ field: "id", value: documentId, operator: "OR" }] }] }, isDetail: true, maxRows: "10", sort: "score", start: 0 }; jQuery.ajax({ url: apiURL, type: 'POST', contentType: 'application/json', data: JSON.stringify(requestData), success: function(response) { console.log("Risposta ricevuta: ", response); // Gestisci qui la risposta collocazioneGlob = estraiCollocazioneSanTommaso(response); //alert (collocazioneGlob); inviaDatiAlServer('', 'CE0061', collocazioneGlob, 'CAM'); console.log("Collocazione:", collocazioneGlob); document.getElementById("collocazione").innerHTML = collocazioneGlob; }, error: function(xhr, status, error) { console.error("Errore nella richiesta: ", error); // Gestisci qui l'errore } }); } function estraiCollocazione(responseJson) { var response = JSON.parse(responseJson); // Verifica che la risposta esista e contenga i dati necessari if (!response || !response.solrDocs || !response.solrDocs.documenti || response.solrDocs.documenti.length === 0) { console.error("Risposta non valida o mancante di dati"); console.log(response.solrDocs); return ""; } var documento = response.solrDocs.documenti[0]; // Verifica l'esistenza di tag950 e dei suoi campi interni if (!documento.tag950 || documento.tag950.length === 0) { console.error("Dati di collocazione non trovati"); return ""; } try { // Estrai i dati di collocazione var datiCollocazione = JSON.parse(documento.tag950[0]); var collocazione = ""; if (datiCollocazione.coll && datiCollocazione.coll.length > 0) { var coll = datiCollocazione.coll[0]; collocazione = (coll.cd_sez || "") + " " + (coll.cd_loc || "") + " " + (coll.spec_loc || ""); } return collocazione.trim(); } catch (e) { console.error("Errore nell'analisi dei dati di collocazione:", e); return ""; } } function estraiCollocazioneSanTommaso(responseJson) { try { var response = JSON.parse(responseJson); if (!response || !response.solrDocs || !response.solrDocs.documenti || response.solrDocs.documenti.length === 0) { console.error("Risposta non valida o mancante di dati"); return ""; } var collocazioni = []; response.solrDocs.documenti.forEach(documento => { if (documento.tag950) { documento.tag950.forEach(tag950 => { try { var datiTag950 = JSON.parse(tag950); if (datiTag950.bib && datiTag950.bib.includes("San Tommaso d'Aquino")) { if (datiTag950.coll && datiTag950.coll.length > 0) { datiTag950.coll.forEach(coll => { var collocazione = (coll.cd_sez || "") + " " + (coll.cd_loc || "") + " " + (coll.spec_loc || ""); collocazioni.push(collocazione.trim()); }); } } } catch (e) { console.error("Errore nell'analisi del tag950:", e); } }); } }); return collocazioni.join(", "); } catch (e) { console.error("Errore nell'analisi della risposta JSON:", e); return ""; } } function inviaDatiAlServer(bid, biblioteca, collocazione, polo) { jQuery.ajax({ url: 'collocazione_salva.php', // Sostituisci con il percorso effettivo dello script PHP type: 'GET', data: { action: "set", bid: '', biblioteca: 'CE0061', collocazione: collocazione, polo: 'CAM' }, success: function(response) { console.log("Risposta ricevuta: ", response); // Gestisci qui la risposta del server }, error: function(xhr, status, error) { console.error("Errore nella richiesta: ", error); // Gestisci qui eventuali errori } }); } //cerca collocazione customApiSearch("");