1

我必须以编程方式写入我的电子表格。它允许我写入电子表格的特定单元格。我的代码是:

function update(){
                jQuery.ajax({
                    type: 'PUT',
                    contentType: "application/atom+xml",
                    url: "https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1",
                    dataType: "xml",
                    data: "new.xml",
                    success: function() {
                        alert('Put Success');
                    },
                    error: function(a,b,c) {
                        console.log("XMLHttpRequest: " + a);
                        console.log("textStatus: " + b);
                        console.log("errorThrown: " + c);
                        alert("XMLHttpRequest : " + a + " textStatus : " + b + " errorThrown : " + c);
                    }
                });
            }

我只能使用 xml 元素写入电子表格。所以,我创建了(new.xml):

<entry>
    <id>https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/od6/private/full/R2C1</id>
    <link rel="edit" type="application/atom+xml"
    href="https://spreadsheets.google.com/feeds/cells/0Aq69FHX3TV4ndDBDVFFETUFhamc5S25rdkNoRkd4WXc/worksheetId/private/full/R2C1"/>
    <gs:cell row="2" col="1" inputValue="300"/>
</entry>

但是,我的代码仍然抛出错误。我认为这与我正在编写的 XML 文件有关。我认为,创建 new.xml 是我的错误。请建议如何写回?如何创建 xml 元素?

供参考:更新单元格

输出:a:[object Object]

b : 未定义

C :

4

1 回答 1

1

由于同源策略限制,您不能跨域发送 AJAX 请求。在这里,您尝试向其发送 AJAX 请求https://spreadsheets.google.com,除非您的网站托管在https://google.com此,否则将无法正常工作。要尝试解决此限制,您可以在您的服务器上编写一个服务器脚本,该脚本将充当您的域和 google.com 之间的桥梁。然后您可以将 AJAX 请求发送到将委托的脚本。

于 2011-01-12T10:18:09.883 回答