如何在 Orion 上下文代理ver.0.15.0 上设置 Access-Control-Allow-Origin 以允许跨域 ajax 请求
我的 JS 脚本
function capture_sensor_data(){
var contentTypeRequest = $.ajax({
url: 'http://x.x.x.x:1026/ngsi10/queryContext',
data: {
"entities": [
{
"type": "Room",
"isPattern": "false",
"id": "Room1"
}
]
},
type: 'POST',
dataType: 'json',
contentType: 'application/json',
headers: { 'X-Auth-Token' :'you_auth_token'}
});
contentTypeRequest.done(function(data){
console.log(data);
});
contentTypeRequest.fail(function(jqXHR, textStatus){
console.log( "DEBUG : Ajax request failed... (" + textStatus + ' - ' + jqXHR.responseText + ")." );
});
contentTypeRequest.always(function(jqXHR, textStatus){ });
};
响应
XMLHttpRequest cannot load http://x.x.x.x:1026/ngsi10/queryContext. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://x.x.x.x' is therefore not allowed access. The response had HTTP status code 405.
当前的 Orion 版本 (0.18.1) 在响应中不包含 Access-Control-Allow-Origin 标头,尽管它可能会在未来的版本中执行此操作,因为它已被确定为潜在功能。
目前,一种可能的解决方案是使用代理(放置在 Orion 和客户端之间)在将标头传递给客户端之前将该标头添加到 Orion 的响应中。