2013-08-02 74 views
1

我想从我的web应用程序(不在Heroku上运行)使用Ajax调用来查询Heroku上的Neo4j安装。阿贾克斯完美的作品(没有错误,预期JSON响应)连接时,我的本地服务器URL在http://localhost:7474/db/data 但无法连接到Heroku的服务器URL在http://login:[email protected]:7322/db/data无法访问Heroku上的Neo4j REST URL

时当我说“失败,”我的意思是我收到任何错误或结果(在Firebug控制台中进行监控)。但是,我可以通过以下方式访问Heroku上的Neo4j webadmin控制台(使用Chrome或Firefox,但不使用IE):http://login:[email protected]:7322/webadmin/

Ajax代码如下。

任何人都可以提出我做错了什么,以及如何连接到Heroku?

restServerURL = "http://login:[email protected]:7322/db/data"; 

$.ajax({ 
    type:"POST", 
    url: restServerURL + "/cypher", 
    crossDomain: true, //recommended by Neo4j (no effect) 
    dataType: "json", 
    data: { 
    query:"START n = node(*) WHERE n.name =~ '(?i)" + request.term + ".*' RETURN n, n.name ORDER BY LOWER(n.name) ASC LIMIT 12", //"like" (=~) search term, case insensitive ((?i)), show first 12 results 
     }, 
    success: function(data) { 
     //process json here  
     }; 
    } 
}); 

感谢,

杰夫

+2

您的查询将是相当缓慢的/昂贵的,因为它是一个全球性的图形扫描,应该使用索引查找代替 –

回答

0

尝试使用:

xhrFields: { 
     withCredentials: true 
    }, 
+0

感谢您的指导。将我的查询转换为索引查找位于列表中。我可以尝试xhrFields参数。然而,随着Neo4j 2.0即将发布,Heroku托管版本将落后2个版本。为此,我成立了一个Amazon AWS 64位AMI Linux实例,成功安装了Neo4j V1.9.2社区版,并将我的网络应用程序连接到它。鉴于我拥有root权限,这似乎比Heroku更灵活。我现在可以安装最新的Neo4j版本,开发人员工具等。如果有人想知道如何做到这一点,请告诉我。 – JeffA

+0

尝试xhrFields - 没有区别。在这一点上,我不再看Heroku。开始查找索引。谢谢你的帮助。 – JeffA