无法在chrome扩展

时间:2015-12-01 04:32:28

标签: javascript jquery ajax google-chrome google-chrome-extension

我想在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()发送标题和数据的代码示例。

1 个答案:

答案 0 :(得分:0)

在你的mainifest文件中尝试更改

"permissions": [
    "storage",
    "activeTab",
    "tabs",
    "https://ajax.googleapis.com/"
  ]

"permissions": [
    "storage",
    "activeTab",
    "tabs",
    "https://ajax.googleapis.com/",
    "https://*.google.com/"
  ]