Сценарий содержимого - пустой ответ от обычного вызова Axios в расширении Chrome - PullRequest
0 голосов
/ 12 июня 2019

Когда я выполняю вызов axios в моем скрипте контента Google, который выполняется на http://example.com,, статус ответа равен 200, и я ожидаю ответа json, но вместо этого данные представляют собой пустую строку, подобную этой:

response = {data: "", status: 200, statusText: "", headers: {…}, config: {…}, …}

content.bundle.js

const url = "https://jsonplaceholder.typicode.com/todos/1";
var config = {
    headers: {
        'Content-Type': 'application/json',
        'X-Requested-With': 'XMLHttpRequest',
    },
}
axios.get(url, config).then((response) => {
    debugger;
    console.log(response);
});

manifest.json

  "content_scripts": [
    {
      "matches": ["<all_urls>"],
      "js": ["content.bundle.js"],
      "css": ["content-styles.css"]

    }
  ],

Если вас интересуют заголовки

Request URL: https://jsonplaceholder.typicode.com/todos/1
Request Method: GET
Status Code: 200 
Remote Address: 104.24.99.239:443
Referrer Policy: no-referrer-when-downgrade
access-control-allow-credentials: true
Provisional headers are shown
Accept: application/json, text/plain, */*
Referer: http://example.com/
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36
X-Requested-With: XMLHttpRequest

Я могу обойти эту проблему, отправив сообщение в фоновый скрипт, в идеале можно было бы избежать этого дополнительного шага.

Мысли? Рад предоставить больше информации, если это необходимо.

Спасибо

...