当前位置: 首页 > 面试题库 >

AJAX发布到Google电子表格

伍嘉
2023-03-14
问题内容

我正在尝试将表单数据发布到Google电子表格。当前,如果表单经过验证,则会发生以下情况:

if (validateForm === true) {
        $.ajax({
            type: 'post',
            url: 'https://docs.google.com/spreadsheet/ccc?key=0AlwuDjMUxwhqdGp1WU1KQ0FoUGZpbFRuUDRzRkszc3c',
            data: $("#workPLZ").serialize(),
            success: alert($("#workPLZ").serialize())
        });
    }
    else {}

我使用成功设置来验证我的表单数据已正确序列化(正确)并且成功。但是,我的Google电子表格未更新(没有数据通过)。我在此处使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-
spreadsheets-as-a-database-insert-with-apps-script-form-postget-submit- method
/

),并已公开提供Google电子表格(任何人均可编辑)。我按照说明进行操作,将代码复制到googledocs中,然后运行两次setUp(第一次请求权限,第二次运行它时,我什么都没注意到)。谁能帮我?我觉得我超级亲密。


问题答案:

好吧,我想出了一个解决方案。在了解了跨域AJAX问题后,我决定继续进行“
t”操作,该方法是本文作者在http://mashe.hawksey.info/2011/10/google-spreadsheets-
as使用的方法数据库插入带有应用程序脚本形式的postget提交方法/。

要将数据发布到您的Google电子表格,请首先制作电子表格,然后将工作表名称(左下角)更改为DATA。接下来,在电子表格中打开脚本编辑器(工具==>脚本编辑器),然后从文章中粘贴脚本。将“
doGet(e)”更改为“
doPost(e)”。运行两次setUp脚本。第一次它会要求运行许可(授予它),然后第二次您选择运行它,那么您将不会得到任何弹出窗口指示它已经运行(我在编辑器中运行了我的程序,因此上面说了“
running
setUp”代码输入区,仅此而已)。之后,在脚本编辑器中选择“发布”,然后选择“发布为服务”。单击“允许任何人调用此服务”单选按钮和“允许匿名访问”复选框。复制网址(重要!),然后点击“启用服务”。这是“困难的部分”。

在HTML表单中,您提交的每个元素都必须具有“名称”属性(例如)。此名称是数据发送的方式-
每个条目都附加到其名称上。确保对于要收集的每个表单数据,都有一个名称,并将该名称作为电子表格上的一列输入(这就是它将数据从表单映射到电子表格的方式)。对于您的表单,将发布方法和操作设置为“按服务发布”
URL(我告诉您保存),如下所示:

<form id="formID" method="post" action="URL" target="hidden_iframe">

我包含一个表单ID,因此我可以选择该表单并通过jquery提交。在HTML中,在上述表单之前,添加隐藏的iframe:

<iframe name="hidden_iframe" id="hidden_iframe" style="display:none;"></iframe>

设置某种形式的验证(这不是必需的,但是如果没有填写每个字段,您将在电子表格中获得不完整的数据),并且如果验证成功,请调用jquery
.submit()。例如:

    if (formValidation === true){
           $("#formID").submit();
    }
    else {}

就是这样。祝好运!



 类似资料:
  • 我正在尝试将表单数据发布到google电子表格中。当前,如果表单已验证,则会发生以下情况: 我使用了成功设置来验证我的表单数据是否被正确序列化(它是),以及是否成功。然而,我的谷歌电子表格没有更新(没有数据通过)。我在这里使用了示例代码,将doGet更改为doPost(http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-databa

  • 我正在使用谷歌电子表格和IFTTT做我手机的DB通话记录,这是完美的工作。现在,我正试图通过这个DB调用日志中的API在web页面中填充一个表单。每次IFTTT填充工作表时,我都希望将lastRow发送到我的API。工作表中的第一行填充有标题名称:部门、名、姓、电子邮件、电话、截止日期。 因此,我设法将数据发送到API,如下所示: 现在我需要自动化它,但我不知道如何: > 从表单元格(从lastR

  • 我正在尝试使用GoogleDrive API将Google工作表设置为“发布到Web”模式,以便将其嵌入到我的网站中。 在我的PHP中使用驱动API:- 据我所知,这符合驱动器API规范(我真希望他们没有删除PHP的代码示例!)。但是,我在响应正文中返回了以下错误:- 任何帮助都将不胜感激!

  • 我试图模拟单击“发布到web”- 然而,这似乎对我的文档没有影响。 我希望能够以编程方式创建一个谷歌电子表格,可以立即在世界范围内访问。

  • 我很难找到将多张工作表同步到主电子表格的方法。在我的测试中,我有一个大的电子表格,上面有5个城市的地址。我正在尝试为每个城市创建一个电子表格,并能够在任何一个表格中更改数据时同步数据。因此,我将管理总体数据,5张电子表格中的每一张都将分配给其他人。这样,他们就可以在不访问所有数据的情况下更新工作表。使用内置查询或导入功能的问题是,如果用户在“城市”电子表格上进行更改,它将破坏该表格,因为数据被引用

  • 我已经通过谷歌官方文档《开发者指南》API中提到的一个简单Java代码成功地在我的Google Drive帐户的现有电子表格中创建了一个新的工作表,但我想通过Java代码在我的Google Drive帐户中创建一个新的电子表格。在链接中,他们没有提到这方面的任何示例代码。我已经在Spreadservice类中看到了不同的可用方法。 如何使用Google电子表格API实现这一点?