Javascript 如何在Neo4j 2.2.x和JQuery中使用事务性Cypher HTTP端点和新的REST API身份验证和授权

Javascript 如何在Neo4j 2.2.x和JQuery中使用事务性Cypher HTTP端点和新的REST API身份验证和授权,javascript,jquery,rest,authentication,neo4j,Javascript,Jquery,Rest,Authentication,Neo4j,我正在寻找一个代码示例,在Neo4j 2.2.x上使用JQuery创建REST POST请求,并使用新参数 在Neo4j 2.2版本之前,我使用传统的Cypher HTTP端点(已弃用)执行具有以下代码的Cypher查询: $.post("http://localhost:7474/db/data/transaction/commit", { "query": query, "params": {} }, "json")... 但是我想转到2.2,使用带有用户身份验证参数的事务

我正在寻找一个代码示例,在Neo4j 2.2.x上使用JQuery创建REST POST请求,并使用新参数

在Neo4j 2.2版本之前,我使用传统的Cypher HTTP端点(已弃用)执行具有以下代码的Cypher查询:

$.post("http://localhost:7474/db/data/transaction/commit",
{
    "query": query,
    "params": {}
}, "json")...
但是我想转到2.2,使用带有用户身份验证参数的事务端点

我找不到正确的头和参数组合来创建这样的请求。这就是为什么我要寻找一个代码示例


最好是使用跨域请求的示例,但同一域上的示例也会有所帮助。

对于身份验证,您需要为请求提供额外的HTTP头:

Authorization: Basic realm="Neo4j" <base64>

应用此默认值后,您的
$。上面的post
应该可以工作

对于身份验证,您需要为请求提供额外的HTTP头:

Authorization: Basic realm="Neo4j" <base64>

应用此默认值后,您的
$。上面的post
应该可以工作

对于身份验证,您需要为请求提供额外的HTTP头:

Authorization: Basic realm="Neo4j" <base64>

应用此默认值后,您的
$。上面的post
应该可以工作

对于身份验证,您需要为请求提供额外的HTTP头:

Authorization: Basic realm="Neo4j" <base64>

应用此默认值后,您的
$。上面的post
应该可以工作

授权意味着浏览器将发送不嵌入授权标头的飞行前选项请求

这就是最有名的CORS

目前,Neo4j服务器没有使用适当的访问控制允许标头回复选项请求。
此功能已在源代码中实现,并将随GA发行版一起发布。我希望GA发行版将于本周发布。

授权意味着浏览器将发送不嵌入授权标头的飞行前选项请求

这就是最有名的CORS

目前,Neo4j服务器没有使用适当的访问控制允许标头回复选项请求。
此功能已在源代码中实现,并将随GA发行版一起发布。我希望GA发行版将于本周发布。

授权意味着浏览器将发送不嵌入授权标头的飞行前选项请求

这就是最有名的CORS

目前,Neo4j服务器没有使用适当的访问控制允许标头回复选项请求。
此功能已在源代码中实现,并将随GA发行版一起发布。我希望GA发行版将于本周发布。

授权意味着浏览器将发送不嵌入授权标头的飞行前选项请求

这就是最有名的CORS

目前,Neo4j服务器没有使用适当的访问控制允许标头回复选项请求。
此功能已在源代码中实现,并将随GA发行版一起发布,我希望GA发行版将于本周发布。

此问题已在2.2.0-RC01中修复,我可以使用事务性Cypher HTTP端点,并使用以下示例代码进行身份验证:

$.ajaxSetup({
    headers: {
        // Add authorization header in all ajax requests
        // bmVvNGo6cGFzc3dvcmQ= is "password" base64 encoded
        "Authorization": "Basic bmVvNGo6cGFzc3dvcmQ=" 
    }
});

$.ajax({
    type: "POST",
    url: "http://localhost:7474/db/data/transaction/commit ",
    dataType: "json",
    contentType: "application/json;charset=UTF-8",
    data: JSON.stringify({"statements": [{"statement": "MATCH (n) RETURN n LIMIT 10"}]}),
    success: function (data, textStatus, jqXHR) {
        // use result data...
    },
    error: function (jqXHR, textStatus, errorThrown) {
        // handle errors
    }
});

该问题已在2.2.0-RC01中修复,我可以使用事务性Cypher HTTP端点,并使用以下示例代码进行身份验证:

$.ajaxSetup({
    headers: {
        // Add authorization header in all ajax requests
        // bmVvNGo6cGFzc3dvcmQ= is "password" base64 encoded
        "Authorization": "Basic bmVvNGo6cGFzc3dvcmQ=" 
    }
});

$.ajax({
    type: "POST",
    url: "http://localhost:7474/db/data/transaction/commit ",
    dataType: "json",
    contentType: "application/json;charset=UTF-8",
    data: JSON.stringify({"statements": [{"statement": "MATCH (n) RETURN n LIMIT 10"}]}),
    success: function (data, textStatus, jqXHR) {
        // use result data...
    },
    error: function (jqXHR, textStatus, errorThrown) {
        // handle errors
    }
});

该问题已在2.2.0-RC01中修复,我可以使用事务性Cypher HTTP端点,并使用以下示例代码进行身份验证:

$.ajaxSetup({
    headers: {
        // Add authorization header in all ajax requests
        // bmVvNGo6cGFzc3dvcmQ= is "password" base64 encoded
        "Authorization": "Basic bmVvNGo6cGFzc3dvcmQ=" 
    }
});

$.ajax({
    type: "POST",
    url: "http://localhost:7474/db/data/transaction/commit ",
    dataType: "json",
    contentType: "application/json;charset=UTF-8",
    data: JSON.stringify({"statements": [{"statement": "MATCH (n) RETURN n LIMIT 10"}]}),
    success: function (data, textStatus, jqXHR) {
        // use result data...
    },
    error: function (jqXHR, textStatus, errorThrown) {
        // handle errors
    }
});

该问题已在2.2.0-RC01中修复,我可以使用事务性Cypher HTTP端点,并使用以下示例代码进行身份验证:

$.ajaxSetup({
    headers: {
        // Add authorization header in all ajax requests
        // bmVvNGo6cGFzc3dvcmQ= is "password" base64 encoded
        "Authorization": "Basic bmVvNGo6cGFzc3dvcmQ=" 
    }
});

$.ajax({
    type: "POST",
    url: "http://localhost:7474/db/data/transaction/commit ",
    dataType: "json",
    contentType: "application/json;charset=UTF-8",
    data: JSON.stringify({"statements": [{"statement": "MATCH (n) RETURN n LIMIT 10"}]}),
    success: function (data, textStatus, jqXHR) {
        // use result data...
    },
    error: function (jqXHR, textStatus, errorThrown) {
        // handle errors
    }
});

我已尝试使用此标头,但出现以下错误:加载资源失败:服务器响应状态为401(未经授权)tempsajax.html:1 XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401。我在localhost中使用了这两个服务器,但我认为这与跨域问题有关。我已尝试使用此标头,但出现以下错误:加载资源失败:服务器响应状态为401(未经授权)tempsajax.html:1 XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401。我在localhost中使用了这两个服务器,但我认为这与跨域问题有关。我已尝试使用此标头,但出现以下错误:加载资源失败:服务器响应状态为401(未经授权)tempsajax.html:1 XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401。我在localhost中使用了这两个服务器,但我认为这与跨域问题有关。我已尝试使用此标头,但出现以下错误:加载资源失败:服务器响应状态为401(未经授权)tempsajax.html:1 XMLHttpRequest无法加载。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许访问源“”。响应的HTTP状态代码为401。我在localhost中使用这两个服务器,但我认为这与跨域问题有关。