gpt4 book ai didi

javascript - 无法通过 JavaScript 中的 $post 在 Neo4j 中创建索引

转载 作者:行者123 更新时间:2023-11-28 09:17:41 25 4
gpt4 key购买 nike

我使用 neo4j REST API、JS 和 JQuery 创建简单的 Web 应用程序。我可以使用 $post 创建新节点:

$.post("http://localhost:7474/db/data/node",
{
"name":data[i].name,
"phone":data[i].phone
},
function(jsonData) {
newlyCreated = jsonData.self;
},
'json');

它起作用了,新节点被创建并出现在数据库中。

不幸的是,当我尝试使用 $post 创建索引时,此语法不起作用:

$.post("http://localhost:7474/db/data/index/node",{"name":"phone"},function(indexInfo) {
console.log(indexInfo);
}, 'json');

当我尝试使用 neo4j http 控制台时:

POST http://localhost:7474/db/data/index/node/ {"name": "phone"}

创建索引工作正常。

对于为什么 $.post 在这种情况下无法正常工作有什么建议吗?

最佳答案

禁止直接通过 JavaScript 向 Neo4j 发送请求。可能由于跨源而不起作用(请求的资源上不存在“Access-Control-Allow-Origin” header 。因此不允许访问源“xxyy”)。

通常 Neo4j 在端口 7474 上运行,因此如果您从端口 80(默认 http 端口)发出请求,则不允许。另外,如果您从同一端口发出请求(就像浏览器一样,您还需要添加在 Neo4j 配置中启用的身份验证)

安全风险在于,如果您从浏览器直接请求安全的 Neo4j,则在浏览器中保存用户名和密码将使任何人都可以直接访问您的 Neo4j 实例。

因此,最好的方法是创建一个代理(具有“允许来源”配置),该代理验证请求,如果它是有效的,则进行身份验证并将其发送到数据库,然后将请求所需的数据返回给浏览器。 :)

关于javascript - 无法通过 JavaScript 中的 $post 在 Neo4j 中创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com