3

[早期版本已在我尝试时更新]

我确实知道一些 javascript,并且我有一个可以工作的 neo4j db,我可以在控制台中使用 cypher 进行查询。此外,此卷曲有效:

curl -X POST http:// localhost:7474/db/data/cypher--data @test.json -H accept:application/json -H content-type:application/json -H X-Stream:true

但我想通过 jQuery $ajax 调用获得结果——实际上,我可以通过任何方式在 javascript 中获得 JSON 结果,不一定是 jQuery

此函数产生消息:

500 意外字符('q'(代码 113)):在 [Source: java.io.StringReader@56f31ac6; 行:1,列:2]

在此先感谢,卡尔

 function getsomething() {
  var serverURL = "http://localhost:7474/db/data"
  $.ajax({
    type:"POST",
    url: serverURL + "/cypher",
    accepts: "application/json",
    dataType: "json",
    contentType:"application/json",
    headers: { 
      "X-Stream": "true"    
    },
    data:{ "query" : "start n = node(1) return n;"  },
    success: function(data, textStatus, jqXHR){
     alert(textStatus);
    },
    error: function(jqXHR, textStatus, errorThrown){
     alert(errorThrown);
     console.log(textStatus);
    }
  });//end of ajax
  } //end of getSomething()
 getsomething();
4

1 回答 1

2

您需要使用 HTTP 方法POSTdb/data/cypher端点对话。所以尝试设置

type: "POST",

在你打电话给$.ajax.

免责声明:我自己没有尝试过,只是从臀部拍摄

更新

您需要使用以下方法包装数据部分JSON.stringify

 data: JSON.stringify({
       "query" : "start n = node(*) return n;",
       "params" : {}
     }),
于 2013-08-31T08:58:39.757 回答