【问题标题】:How to make a http request from a Chrome extension to an api如何从 Chrome 扩展程序向 api 发出 http 请求
【发布时间】:2019-01-28 00:51:18
【问题描述】:

我正在使用 Chrome 扩展程序进行一些测试,但无法向我的 API 发出简单的获取请求。我的 API 返回一个 json,当扩展程序收到响应时,它应该在控制台记录它。

在我的 manifest.json 中我有这个权限:

  "permissions": [
    "https://*/"
  ],

在我的 background.js 我有这个

var xhr = new XMLHttpRequest();
xhr.open("GET", "https//localhost:5001/api/values", true);

xhr.onreadystatechange = function () {
    console.log(xhr);
    if (xhr.readyState == 4) {
        console.log(xhr.responseText);
    }
}
xhr.send();

执行此代码时,我会在浏览器的控制台窗口中收到此消息 GET chrome-extension://cajbfgbekfaohncbcejeobaamefgfebd/https//localhost:5001/api/values net::ERR_FILE_NOT_FOUND

我的猜测是请求包含chrome-extension://cajbfgbekfaohncbcejeobaamefgfebd,这就是导致问题的原因。但即使是这样,我也不知道如何解决它。

【问题讨论】:

  • 您有一个错字:网址中缺少:
  • 天哪,我不敢相信我错过了!谢谢@wOxxOm

标签: google-chrome-extension xmlhttprequest


【解决方案1】:

是的,这里没什么特别的,正如@wOxxOm 指出的那样,问题是一个错字。

【讨论】: