1

我正在尝试从 Chrome 扩展向 Basecamp 执行 AJAX 请求以进行身份​​验证,以便我可以提取任务。我已添加https://site.basecamphq.com到 manifest.json 中的权限。然而,当这个函数被执行时,我在我的控制台中得到了这个:

XMLHttpRequest 无法加载https://site.basecamphq.com。Access-Control-Allow-Origin 不允许来源 chrome-extension://0123456789

$("#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 权限,但没有运气。

4

1 回答 1

0

您需要使用后台页面从内容脚本执行 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);
});
于 2011-06-27T21:01:37.917 回答