скрипт приложения отправляет входной массив с помощью ajax с помощью doGet - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь отправить входной массив с помощью ajax в скрипт Google, используя doGet (), проблема в том, что я не могу получить к нему доступ в скрипте Google. Моя форма имеет несколько полей ввода с именем first_name [] и last_name []. Я также отправляю данные обратного вызова, в скрипте Google я могу получить доступ к e.parameters.callback, но не могу получить доступ к e.parameters.first_name [] и e.parameters.last_name []. Когда я удаляю [] и пытаюсь получить доступ к e.parameters.first_name и e.parameters.last_name, он возвращает undefined. Вы можете увидеть ниже структуру e.parameters. Я хочу просмотреть все параметры first_name [] и last_name [].

enter image description here

это HTML-форма

enter image description here

<form id="form1" role="form" class="form-inline">
    <div id="myRepeatingFields" clas="col-md-12">
        <div class="entry inline-form col-xs-12">
            <input class="typeahead form-control" name="first_name[]" type="text" placeholder="first name" />
            <input class="form-control" name="last_name[]" type="text" placeholder="last name" />
            <button type="button" class="btn btn-success btn-lg btn-add">
                <span class="fas fa-plus" aria-hidden="true"></span>
            </button>
        </div>
        <div class="entry inline-form col-xs-12">
            <input class="typeahead form-control" name="first_name[]" type="text" placeholder="first name" />
            <input class="form-control" name="last_name[]" type="text" placeholder="last name" />
            <button type="button" class="btn btn-success btn-lg btn-add">
                <span class="fas fa-plus" aria-hidden="true"></span>
            </button>
        </div>
        <div class="entry inline-form col-xs-12">
            <input class="typeahead form-control" name="first_name[]" type="text" placeholder="first name" />
            <input class="form-control" name="last_name[]" type="text" placeholder="last name" />
            <button type="button" class="btn btn-success btn-lg btn-add">
                <span class="fas fa-plus" aria-hidden="true"></span>
            </button>
        </div>
    </div>
    <div class="col-md-12">
        <input id="submit" type="submit" value="submit" class="btn btn-primary" />
    </div>
</form>

это JavaScript

$("#form1").submit(function(e) {
    e.preventDefault();
    var first_name = $('input[name="first_name[]"]')
        .map(function() {
            return this.value;
        })
        .get();

    var last_name = $('input[name="last_name[]"]')
        .map(function() {
            return this.value;
        })
        .get();

    var url = "https://script.google.com/macros/s/AKfycbztMLT-IofWxDIxm_K2bDhjyZZR1vOHz8OSc4Dupwle/dev?action=insertFormula&callback=insertFormulaSuccess";

    $.ajax({
        crossDomain: true,
        data: {
            first_name: first_name,
            last_name: last_name
        },
        url: url,
        method: "GET",
        dataType: "jsonp"
    });
});

function insertFormulaSuccess(data) {
    console.log(data);
}

это код.gs

function insertFormula(e) {
    var result = {};
    result.data = e;

    Logger.log(e.parameters.first_name[]); // syntax error
    Logger.log(e.parameters.last_name[]); // syntax error

    return ContentService.createTextOutput(
        e.parameter.callback + "(" + JSON.stringify(result) + ")"
    ).setMimeType(ContentService.MimeType.JAVASCRIPT);
}
...