apps script sending input array with ajax using doGet












0














I'm trying to send input array with ajax to google script using doGet(), the problem is that I can't access it in google script. My form have multiple input fields with a name first_name and last_name. I also send a callback data, in google script I can access e.parameters.callback but I can't access e.parameters.first_name and e.parameters.last_name. When I remove the and try to access e.parameters.first_name and e.parameters.last_name, it returns undefined. You can see below the structure of e.parameters. I want to loop through each first_name and last_name parameters.



enter image description here



this is the html form



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>


this is the 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);
}


this is the code.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);
}









share|improve this question




















  • 1




    In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
    – Tanaike
    Nov 13 at 7:57
















0














I'm trying to send input array with ajax to google script using doGet(), the problem is that I can't access it in google script. My form have multiple input fields with a name first_name and last_name. I also send a callback data, in google script I can access e.parameters.callback but I can't access e.parameters.first_name and e.parameters.last_name. When I remove the and try to access e.parameters.first_name and e.parameters.last_name, it returns undefined. You can see below the structure of e.parameters. I want to loop through each first_name and last_name parameters.



enter image description here



this is the html form



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>


this is the 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);
}


this is the code.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);
}









share|improve this question




















  • 1




    In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
    – Tanaike
    Nov 13 at 7:57














0












0








0







I'm trying to send input array with ajax to google script using doGet(), the problem is that I can't access it in google script. My form have multiple input fields with a name first_name and last_name. I also send a callback data, in google script I can access e.parameters.callback but I can't access e.parameters.first_name and e.parameters.last_name. When I remove the and try to access e.parameters.first_name and e.parameters.last_name, it returns undefined. You can see below the structure of e.parameters. I want to loop through each first_name and last_name parameters.



enter image description here



this is the html form



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>


this is the 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);
}


this is the code.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);
}









share|improve this question















I'm trying to send input array with ajax to google script using doGet(), the problem is that I can't access it in google script. My form have multiple input fields with a name first_name and last_name. I also send a callback data, in google script I can access e.parameters.callback but I can't access e.parameters.first_name and e.parameters.last_name. When I remove the and try to access e.parameters.first_name and e.parameters.last_name, it returns undefined. You can see below the structure of e.parameters. I want to loop through each first_name and last_name parameters.



enter image description here



this is the html form



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>


this is the 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);
}


this is the code.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);
}






javascript google-apps-script web-applications






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 at 7:53









Krupesh Kotecha

2,05011134




2,05011134










asked Nov 13 at 7:21









Juan Coder

193




193








  • 1




    In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
    – Tanaike
    Nov 13 at 7:57














  • 1




    In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
    – Tanaike
    Nov 13 at 7:57








1




1




In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
– Tanaike
Nov 13 at 7:57




In your script, the error occurs at Logger.log(e.parameters.first_name) and Logger.log(e.parameters.last_name) when the script is saved. e.parameters has the keys of first_name and last_name. So how about modifying to e.parameters["first_name"] and e.parameters["last_name"]?
– Tanaike
Nov 13 at 7:57

















active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275792%2fapps-script-sending-input-array-with-ajax-using-doget%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown






























active

oldest

votes













active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53275792%2fapps-script-sending-input-array-with-ajax-using-doget%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)