【发布时间】:2015-10-27 15:03:00
【问题描述】:
我正在尝试从位于远程位置的 neo4j 数据库中获取数据,为此我发出 ajax 请求,如下所示:
$.ajax({
type: "POST",
// headers: {"Access-Control-Allow-Origin": "*"},
url: "http://<mysite>.sb04.stations.graphenedb.com:24789/browser/",
headers: {
"Authorization": "Basic " + btoa('email' + ":" + 'mypw')
},
crossDomain: true,
accepts: { json: "application/json" },
dataType: "json",
data: {
"query": "start n = node(*) return n",
"params": {}
},
success: function (data, textStatus, jqXHR) {
alert(textStatus);
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
但是我收到了这个特殊的错误:
XMLHttpRequest 无法加载。没有“Access-Control-Allow-Origin”标头 存在于请求的资源上。原点'http://localhost:8383' 因此不允许访问。响应包含 HTTP 状态代码 403.
请帮忙解决这个问题...
【问题讨论】:
-
我不确定它是否与您的问题有关,但我在我的 ajax 请求中添加了以下标头:'Accept': 'application/json', 'Content-Type': 'application/ json'
-
另外,我相信 Neo4j 的 ajax 请求的 url 看起来不同。
-
我是 GrapheneDB 的创始人兼首席执行官。除非您将数据库设置为只读,否则您需要使用更新的凭据移至新数据库。通过将您的凭据放在这里,您已授予整个 Internet 对您的数据库的读/写访问权限。
-
我编辑了您的凭据(即使有足够代表的人仍然可以在编辑历史记录中看到它)。你需要尽快处理这个问题。
-
哦,好吧,所以你放在那里的凭据看起来不像我们用于数据库级身份验证的凭据,所以 1) 你的数据库没有受到损害,但是 2) 你已经暴露了帐户级别凭据更糟糕,因为基本上任何人都可以代表您创建、删除数据库等。问题已被编辑,但凭据将永远保留在历史记录中。如果是有效帐户,我们将更改密码、重置 API 令牌并启动密码重置。
标签: neo4j