我正在尝试将从我的网络应用程序收集的数据发送到谷歌电子表格。 我正在使用 Martin Hawksey 的脚本: https://gist.github.com/mhawksey/1276293
我已经按照手册中的说明进行了设置并完成了所有操作。我正在取回数据,但它显示为未定义的值:
这是我用来将 JSON 字符串发送到我的电子表格的代码:
function sendData(){
var url = 'https://script.google.com/macros/s/AKfycby3SUJvfEjdHWVoEON0L5hN4uXod8M4Jv1LAIWH3Ny16MIUz9o/exec';
var data = JSON.stringify(member);
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
data: data,
success: function (response) {
console.log("succes! I sent this: " + data);
console.log("got this back: " + JSON.stringify(response));
},
});
}
这给了我一条成功消息,它甚至告诉我它被放置在哪一行。 这是我发送的 JSON 字符串:
{"Voornaam":"Name","Achternaam":"Name","Mail":"x@x.com","Verjaardag":"0/0/0000","Foto":"https://graph.facebook.com/xxxxx/picture?width=1020","School":"School X","Richting":"Course X"}
我什至用 JSON 解析器在线检查了这个 JSON,它没有返回任何错误。
对于初学者来说,我不完全确定如何检查我在电子表格中收到的字符串。如果它到达时仍然正确。我尝试记录它,但似乎无法从谷歌记录器获得任何响应。
如果有人能指出我做错了什么,将不胜感激!
最佳答案
Web 脚本需要一个 JSON 对象。但是,Ajax 调用是使用 stringify 函数对字符串进行的
var data = JSON.stringify(member);
修改脚本以使用 JSON 对象进行 GET 调用解决了问题,就像这样
var data = member;
关于javascript - 通过 AJAX 请求提交时显示未定义值的 Google 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662821/