Ошибка при отправке XHR из Chrome Extension на страницу PHP: запросы с разными источниками поддерживаются только для HTTP - PullRequest
1 голос
/ 18 января 2011

Я хочу отправить XHR (используя метод GET) из расширения Chrome на страницу PHP. Но когда я пытаюсь запустить код, я получаю сообщение об ошибке:

    "Cross origin requests are only supported for HTTP"
    "XMLHttpRequest Exception 101"

Страница PHP загружается нормально, когда я вызываю ее прямо в браузере, поэтому невозможность найти файл не приведет к ошибке. Из-за этих ошибок я не могу отправить данные из расширения на страницу PHP для хранения в базе данных. Я включил https://*/ в manifest.json (под разрешениями) расширения, но он все еще не работает.

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

PS: страница, на которой запущено расширение и отправляет XHR, является страницей HTTPS, а PHP - страницей HTTP. Может ли это быть причиной проблемы. Если да, как ее преодолеть.

Ответы [ 3 ]

1 голос
/ 18 января 2011

Я предполагаю, что вы делаете это в Content-Script, если это так, то вы не можете. Это будет относиться к той же политике происхождения. Если вы хотите использовать XHR-запросы в расширении Chrome, разместите его на своих страницах расширения (фоновая страница).

И когда вы это сделаете, убедитесь, что вы добавили соответствующие шаблоны соответствия в соответствии с разрешением:

http://code.google.com/chrome/extensions/match_patterns.html

Например, https://*/ должно быть https://*/*, а ваш XHR должен находиться на фоновой странице , где ваш скрипт контента связывается с ним через обмен сообщениями .

0 голосов
/ 08 марта 2012

Я знаю, это немного устарело, но на тот случай, если кто-нибудь наткнется на эту страницу. Это точная копия этого вопроса .

Вы можете сделать cross-origin-xhr из своих скриптов контента, если у вас есть соответствующие декларированные разрешения.

0 голосов
/ 18 января 2011

Вы не можете.XHR подчиняется той же политике происхождения .

Вы можете вместо этого использовать JSONP .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...