我必须以编程方式写入我的电子表格。它允许我写入电子表格的特定单元格。我的代码是:
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:
答案 0 :(得分:1)
由于same origin policy restriction,您无法跨域发送AJAX请求。在这里,您尝试向https://spreadsheets.google.com
发送AJAX请求,除非您的网站托管在https://google.com
,否则这将无效。要尝试解决此限制,您可以在服务器上编写服务器脚本,作为域和google.com之间的桥梁。然后,您可以将AJAX请求发送到将委派的脚本。