Jquery neo4j访问控制头
我正在使用neo4j REST api并进行jquery ajax调用这是我第一次使用REST 我试着打这样的电话:Jquery neo4j访问控制头,jquery,ajax,rest,neo4j,Jquery,Ajax,Rest,Neo4j,我正在使用neo4j REST api并进行jquery ajax调用这是我第一次使用REST 我试着打这样的电话: $.ajax({ url: "http://localhost:7474/db/data/cypher", accepts: "application/json; charset=UTF-8", contentType:"application/json", dataType:"json", data:{ "query" :
$.ajax({
url: "http://localhost:7474/db/data/cypher",
accepts: "application/json; charset=UTF-8",
contentType:"application/json",
dataType:"json",
data:{
"query" : "start n = node(*) return n",
"params" : {}
},
type:"POSt",
success:function(data,xhr,status)
{
console.log(data);
},
error:function(xhr,err,msg){
console.log(xhr);
console.log(err);
console.log(msg);
}
});
使用此选项,我得到以下错误:
XMLHttpRequest cannot load http://localhost:7474/db/data/cypher.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost' is therefore not allowed access.
在这之后,我搜索了它并得到了答案,但我不理解错误,所以我也搜索了它,但它没有任何帮助,所以如果有人能用清晰的语言告诉我这个错误是什么意思,如果我删除contenttype
子句,它不会在将来产生问题吗
非常感谢使用:
$.ajax({
url: "http://localhost:7474/db/data/cypher",
accepts: "application/json; charset=UTF-8",
dataType:"json",
data:{
"query" : "start n = node(*) return n",
"params" : {}
},
type:"POST",
success:function(data,xhr,status)
{
console.log(data);
},
error:function(xhr,err,msg){
console.log(xhr);
console.log(err);
console.log(msg);
}
});
编辑:
当您使用ajax调用将数据发布到服务器时,将从浏览器生成两个请求,第一个是选项(飞行前请求),第二个是post请求。
如果您对neo4j rest API URL发出选项请求(使用fiddler或任何其他http请求生成器),您会注意到它不包含如下内容:
Access-Control-Allow-Headers: content-type
在响应头中,这就是为什么当您进行post调用时,其选项没有“访问控制允许头”,它将被拒绝
同样的解释为什么要在此处删除contentType?