我想在google chrome扩展程序中发送jQuery Ajax HTTP Request。我导入了jQuery库,并使用了以下代码:
$.ajax({
method: "PUT",
url: "https://spreadsheets.google.com/feeds/cells/"+id+"/od6/private/full/"+cell,
headers: {'If-Match': '*'},
contentType: 'application/atom+xml',
data: data
}).done(function(msg) {
alert("Data Saved: "+JSON.stringify(msg));
}).fail(function(e){
alert("There was a problem!\n"+JSON.stringify(e));
})
但每当我尝试时,它会向我显示一条消息:
There was a problem!
{"readyState":0,"status":0,"statusText":"error"}
但是当我在扩展程序(作为单个html页面)运行相同的HTML页面(已导入此javascript代码)时,我没有收到此消息,我每次都成功。
为什么会这样?如何在我的扩展程序中发送此请求?
注意:我不使用XMLHttpRequest()的原因是因为我必须单独向请求发送标题和数据(这是google sheet api所需的<entry>...</entry>
标记)。我不知道如何在XMLHttpRequest()中做到这一点。如果XMLHttpRequest()工作正常,请给我一个使用XMLHttpRequest()发送标题和数据的代码示例。
答案 0 :(得分:0)
在你的mainifest文件中尝试更改
"permissions": [
"storage",
"activeTab",
"tabs",
"https://ajax.googleapis.com/"
]
到
"permissions": [
"storage",
"activeTab",
"tabs",
"https://ajax.googleapis.com/",
"https://*.google.com/"
]