ServiceNow:在服务门户窗口小部件中使用时,$ http.get引发预检响应错误

时间:2018-09-18 12:08:19

标签: angularjs cors servicenow servicenow-rest-api

我正在尝试使用$ http服务从HERE Maps Geocoder Autocomplete API检索响应对象。我为此使用了自定义窗口小部件。在客户端控制器脚本中,我尝试使用$ http.get()方法检索响应对象。这是客户端控制器代码:

$scope.getLocation = function(val) {
    $http.get('//autocomplete.geocoder.api.here.com/6.2/suggest.json?app_id=[app_id]&app_code=[app_code]', {
        params: {
            query:val
        }
    }).then(function(response){
        console.log(response);
    })
};

这里的变量 val 实际上是从我在html中使用的预搜索栏获取输入的。这是html辅助代码:

<input name="searchBar" type="text" ng-model="searchFood" 
                placeholder="search around your locality..." 
                uib-typeahead="loc for loc in getLocation($viewValue)" 
                typeahead-loading="loadingLocations" 
                typeahead-no-results="noResults" class="form-control">

问题是这段代码抛出错误响应,如下所示: XMLHttpRequest无法加载https://autocomplete.geocoder.api.here.com/6.2/suggest.json?app_id=[app_id]&app_code=[app_code]&query=fef。飞行前的响应具有无效的HTTP状态代码405

我尝试通过创建单独的REST消息并执行相同的GET方法来测试REST API端点,并在那里返回了正确的响应,但是每当我尝试在小部件中使用$ http.get()服务时,都会抛出该错误我这个错误。

预先感谢您的帮助!

0 个答案:

没有答案