Javascript AngularJs和Bluemix QA API可以';I don’我不能提出邮寄要求

Javascript AngularJs和Bluemix QA API可以';I don’我不能提出邮寄要求,javascript,angularjs,ibm-cloud,Javascript,Angularjs,Ibm Cloud,我正在尝试将我的Angular应用程序连接到Bluemix QA API。所以我有这个代码 $http({ method: 'POST', url: 'https://gateway.watsonplatform.net/question-and-answer-beta/api/v1/question/healthcare', headers: { 'Content-Type': 'application/json',

我正在尝试将我的Angular应用程序连接到Bluemix QA API。所以我有这个代码

$http({
        method: 'POST',
        url: 'https://gateway.watsonplatform.net/question-and-answer-beta/api/v1/question/healthcare',
        headers: {
            'Content-Type': 'application/json',
            'Authorization':'Basic mytoken',
            'X-SyncTimeout': 30
        },
        data: {
            'question': {
                'questionText': 'Malaria?'
            }
        }
    }).then(function(response){
        $scope.response = JSON.stringify(response);
    });
我的app.js上也有这个

.config([
'$routeProvider',
'$httpProvider',
function($routeProvider, $httpProvider){
    $httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
    $httpProvider.defaults.headers.common['Access-Control-Allow-Headers'] = '*';

}])
但当我尝试运行该方法时,出现了以下错误:

Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers.

如果我试图删除标题,它会在另一个标题中给我一个问题。有什么想法吗?或者任何ajax示例?我知道这里有一些nodejs示例,但我想知道是否可以直接连接到api。

您之所以会遇到这种情况,是因为您正在尝试执行跨站点脚本。沃森不支持这一点。您需要将请求代理到应用程序的后端,然后让应用程序将请求传送到Watson


例如,这是一个与Personal Insights一起工作的应用程序,它将请求从Angular传输到后端,然后传输到Watson。

Postman是一个Chrome浏览器插件,允许您进行REST请求。但是,如果您希望从HTML和Javascript格式的web浏览器发出REST请求,则需要代理这些请求。请查看以了解更多信息。