javascript - 通过 AJAX 请求提交时显示未定义值的 Google 电子表格

标签 javascript jquery ajax google-sheets

我正在尝试将从我的网络应用程序收集的数据发送到谷歌电子表格。 我正在使用 Martin Hawksey 的脚本: https://gist.github.com/mhawksey/1276293

我已经按照手册中的说明进行了设置并完成了所有操作。我正在取回数据,但它显示为未定义的值: image of spreadsheet

这是我用来将 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/

相关文章:

jQuery AJAX 成功

javascript - 将我的 React 应用程序连接到 PHP 服务器上的 MySQL 数据库

javascript - let 与 var 性能

javascript - 2 个链接合一 anchor

javascript - 如何增加 jQuery 元素 ID

javascript - jQuery 与 mobilemap 冲突

javascript - 如何将值从 jquery 插件传递到其回调函数

javascript - 在 phonegap 和 Windows Phone 7 中使用 $.ajax 获取静态 html 文件

javascript - 为什么这个JS链接需要点击2次才能触发?

java - ajax 更新时未显示消息