javascript - 无法在 Chrome 扩展内发送 jQuery Ajax HTTP 请求

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

我想在 google chrome 扩展中发送 jQuery Ajax HTTP 请求。我导入了 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 页面(已导入此 javascript 代码)(作为单个 html 页面)时,我没有收到此消息,我每次都成功。

为什么会发生这种情况?如何在我的扩展程序中发送此请求?

注意:我不使用 XMLHttpRequest() 的原因是因为我必须随请求单独发送 header 和数据(这是 google Sheets api 所需的 <entry>...</entry> 标记)。我不知道如何在 XMLHttpRequest() 中做到这一点。如果 XMLHttpRequest() 有效,请给我一个使用 XMLHttpRequest() 发送 header 和数据的代码示例。

最佳答案

在你的 mainifest 文件中尝试更改

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

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

关于javascript - 无法在 Chrome 扩展内发送 jQuery Ajax HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34012655/

相关文章:

javascript - true 时 jQuery 禁用选项

php - 查找/处理停滞的 PHP 脚本

javascript - 使用 jQuery 将类添加到标签

javascript - iframe url 操作并添加为查询字符串

javascript - 触发除条件 jquery 之外的更改事件

javascript - Flot 刻度转子显示刻度两次

php - 点击提交时需要输入一些关键词

javascript - Ember.js ajax POST 请求未通过 Mirage

php - 在 while() 循环中使用 sleep()/time_sleep_until() 使用 Ajax 进行长轮询

javascript - 为什么nativeElement未定义?