Basecamp API请求导致Access-Control-Allow-Origin错误

时间:2011-06-22 19:48:36

标签: ajax api basecamp

我正在尝试从Chrome扩展程序向Basecamp执行AJAX请求以进行身份​​验证,以便我可以执行任务。我已将https://site.basecamphq.com添加到manifest.json中的权限。但是,当执行此函数时,我会在我的控制台中看到它:

  

XMLHttpRequest无法加载https://site.basecamphq.com。原始chrome-extension:// 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 :(得分: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);
});