如何通过javaScript& amp;发送'put'请求阿贾克斯?

时间:2011-01-12 10:16:18

标签: javascript jquery xml ajax google-sheets

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

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元素?

参考:Update Cells

输出: A : [object Object]

b: 未定义

c:

1 个答案:

答案 0 :(得分:1)

由于same origin policy restriction,您无法跨域发送AJAX请求。在这里,您尝试向https://spreadsheets.google.com发送AJAX请求,除非您的网站托管在https://google.com,否则这将无效。要尝试解决此限制,您可以在服务器上编写服务器脚本,作为域和google.com之间的桥梁。然后,您可以将AJAX请求发送到将委派的脚本。