Запрос API Basecamp приводит к ошибке Access-Control-Allow-Origin - PullRequest
1 голос
/ 22 июня 2011

Я пытаюсь выполнить AJAX-запрос от расширения Chrome до Basecamp для аутентификации, чтобы я мог получать задания. Я добавил https://site.basecamphq.com к разрешениям в manifest.json. Однако, когда эта функция выполняется, я получаю это в моей консоли:

XMLHttpRequest не может загрузить https://site.basecamphq.com. Исходное расширение chrome: // 0123456789 не разрешено Access-Control-Allow-Origin

$("#login").click(function()
{
    $.ajax({
        type: "GET",
        dataType: 'html',
        url: "https://site.basecamphq.com",
        username: "username",
        password: "X",
        success: function(data){
            $("#example").append(data);
            }
    });
});

Я также добавил https://*/ к своим разрешениям manifest.json, но не повезло.

1 Ответ

0 голосов
/ 28 июня 2011

Вам нужно использовать фоновую страницу для выполнения AJAX-запросов из скрипта контента.

Код фоновой страницы:

chrome.extension.onRequest.addListener(function(request, sender, callback) {
     $.ajax({
        type: "GET",
        dataType: 'html',
        url: request.url,
        username: "username",
        password: "X",
        success: callback
    });
});

Код сценария содержимого:

chrome.extension.sendRequest({'url': 'https://site.basecamphq.com'}, function(data) {
    $("#example").append(data);
});
...