jquery – AJAX发布到谷歌电子表格

前端之家收集整理的这篇文章主要介绍了jquery – AJAX发布到谷歌电子表格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将表单数据发布到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问题后,我决定继续跟踪文章作者在 http://mashe.hawksey.info/2011/10/google-spreadsheets-as-a-database-insert-with-apps-script-form-postget-submit-method/使用的方法

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

在您的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 {}

就这样祝你好运!

猜你在找的jQuery相关文章