可以在客户端javascript中使用Grafana Http API吗?我从获得已经创建的仪表板的json的基础开始。
function getHome2Dashboard(callback) {
$.ajax({
type: 'GET',
url: 'http://localhost:3000/api/dashboards/db/home-2',
crossDomain: true,
dataType: 'json',
headers: {
"Authorization": "Bearer eyJrIjoiYkdURk91VkNQSTF3OVdBWmczYUNoYThPOGs0QTJWZVkiLCJuIjoidGVzdDEiLCJpZCI6MX0="
},
success: function(data)
{
if( callback ) callback(data);
},
error: function(err)
{
console.log(err);
}
}); 但我得到了一个:
No 'Access-Control-Allow-Origin' header is present on the requested resource。
我还尝试使用jsonp方法,dev工具显示服务器发送回json数据,但是js失败了,因为(我认为)结果没有包装在回调函数中。任何关于如何实施这一点的建议都是受欢迎的.
// At the moment I think of something like:
┌──────────┐ ┌───────────┐
│ Browser │ <-------> │ Grafana │
└──────────┘ └───────────┘
// In order to overcome the cross-origin problems,
// should I go towards something like this?:
┌──────────┐ ┌───────────┐ ┌───────────┐
│ Browser │ <-------> │ Web api │ <-------> │ Grafana │
└──────────┘ └───────────┘ └───────────┘发布于 2015-12-02 20:02:27
根据这些 链接,目前Grafana中没有办法直接在服务器中设置CORS头,因此需要将Grafana服务器放在反向代理(如nginx )之后,并在那里添加标头。
请参阅有关CORS的Mozilla Developer文档以了解您所面临的问题。
https://stackoverflow.com/questions/34043178
复制相似问题