Salesforce Rest API - 克服Access-Control-Allow-Origin问题

时间:2016-09-13 15:36:22

标签: rest salesforce

我在Apex中有一个相对简单的Rest API类。给定Id,doGet方法检索有问题的记录。

@HttpGet
global static VendorCostWrapper doGet() {
    RestRequest req = RestContext.request;
    RestResponse res = RestContext.response;
    VendorCostWrapper response = new VendorCostWrapper();

    String vcId = req.requestURI.substring(req.requestURI.lastIndexOf('/') + 1);

    findVendorCost(res, response, vcId);

    res.addHeader('Access-Control-Allow-Origin', '*');
    return response;
}

当我从Salesforce Workbench应用程序调用它时,这就像一个冠军。不幸的是,当我尝试使用Angular从Visualforce页面调用端点时:

$scope.restTest = function() {
    $http({
        method: 'GET',
        contentType: 'application/json',
        url: '/services/apexrest/v1/vendorcosts/a0J8A000000VdQm',
        headers: {
            'Authorization': 'Bearer {!GETSESSIONID()}'
        },
        dataType: 'json'
    }).then(function successCallback(response) {
        console.log(response);
    }, function errorCallback(response) {
        console.log(response);
    });
}

我得到了可怕的“No'Access-Control-Allow-Origin'标头出现在请求的资源上。”错误。我希望班上的res.addHeader(...)行可以解决这个问题,但是唉,它还没有。我哪里误入歧途?

0 个答案:

没有答案