Я пытаюсь отправить лиды из CSV в Google Sheets с помощью AJAX как этот метод для отправки формы ведет в Google Sheets.
Я получил его с этим кодом в Гоголе Сценарий приложения, но мне нужно это локально, чтобы сделать больше действий, как удалить файл CSV на Fini sh.
function importCSVFromWeb() {
var csvUrl = "http://URL/csv/data.csv";
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange();
var lastRow = range.getLastRow();
sheet.getRange(lastRow + 1, 1, csvData.length, csvData[0].length).setValues(csvData);
}
Это пример моего data.csv
"4","7","22300","johndoe@example.com","John","Doe","Company SL","666123456","519780151","","","","Instagram"
"6","10","08028","johnsmith@example.com","John","Smith","Company2 SL","666456789","519780151","","","","Facebook"
И это мой AJAX скрипт:
<script>
$.ajaxSetup({ cache: false });//disable cache
$.ajax({
url: 'csv/data.csv',
dataType: 'text',
}).done(successFunction);
function successFunction(data) {
var allRows = data.split(/\r?\n|\r/);
for (var singleRow = 0; singleRow < allRows.length; singleRow++) {
var rowCells = allRows[singleRow].split(',');
document.querySelector("#leads-csv").innerHTML += rowCells+"<br/>";
//alert(rowCells);
const sheetsURL = 'https://script.google.com/macros/s/XXXXXXXXXXXXXXXXXXXXX/exec'
const sheets = document.forms['form-csv'] //evento de formulario
sheets.addEventListener('submit', e => {
e.preventDefault()
alert("Se va a insertar en Google Sheets");//once by row
fetch(sheetsURL, {
method: 'POST',
body: new FormData(sheets) //Failed to construct FormData!!
})
.then(response => console.log('Datos guardados en Google Sheets', response))
.catch(error => console.error('¡Error, revisa el código superior!', error.message))
});
}
}
</script>
У меня проблема при попытке создать FormData со строками CSV