Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SPARQL MAX使用AJAX调用返回禁止的错误403_Ajax_Sparql_Jena_Fuseki - Fatal编程技术网

SPARQL MAX使用AJAX调用返回禁止的错误403

SPARQL MAX使用AJAX调用返回禁止的错误403,ajax,sparql,jena,fuseki,Ajax,Sparql,Jena,Fuseki,我有一个ajax调用来获取大于200的最大id。直到几个月前,这还不错,但现在我得到了一个403禁止错误。ajax调用将查询发送到Apache Jena Fuseki服务器,下面是我的代码: function getNextId(){ myQuery= ["PREFIX dcterms: <http://purl.org/dc/terms/>", "PREFIX locah: <http://data.archiveshu

我有一个ajax调用来获取大于200的最大id。直到几个月前,这还不错,但现在我得到了一个403禁止错误。ajax调用将查询发送到Apache Jena Fuseki服务器,下面是我的代码:


  function getNextId(){
     myQuery= ["PREFIX dcterms: <http://purl.org/dc/terms/>",
     "PREFIX locah: <http://data.archiveshub.ac.uk/def/>",
     "prefix xsd: <http://www.w3.org/2001/XMLSchema#>",
     "SELECT (max(?id) as ?maxId)",
     "WHERE{",
     "?item dcterms:identifier ?id.",
     "?item locah:item ?i.  ",
     "FILTER(xsd:integer(?id)>200)}"].join(" ");
     
     $.ajax({
     type: 'GET',
     dataType: 'jsonp',
       cors: 'true',
 
      url: myEndPoint,
     data: {"query": myQuery,
     "output": "json"},
     success: successId,
     error: myError
     });
     console.log('After .ajax');
 
 }

函数getNextId(){
myQuery=[“前缀dcterms:”,
“前缀locah:”,
“前缀xsd:”,
“选择(最大(?id)作为?最大id)”,
“何处{”,
“?项目dcterms:标识符?id.”,
“?项目locah:项目i.”,
“过滤器(xsd:integer(?id)>200)}”].join(“”);
$.ajax({
键入:“GET”,
数据类型:“jsonp”,
科尔斯:“真的”,
网址:myEndPoint,
数据:{“查询”:myQuery,
“输出”:“json”},
成功:成功,
错误:myError
});
log('After.ajax');
}

有趣的是,当我直接在fuseki服务器上使用同一个查询时,效果很好。知道为什么会发生这种情况吗?

显而易见的问题:1)哪个Fuseki版本?2) 是否有任何其他查询工作,例如,
select*{s?p?o}limit 10
3)您是否尝试重新启动Fuseki,或者它已经是新运行的?4) 你在“几个月”里改变了什么?1)Fuseki版本3.12.0 2)是的,它可以3)是的,我重新启动了它4)什么都没有!我注意到,即使使用其他查询,我也会得到一个错误403,但是像上面提到的一个简单选择很好。您是否尝试使用数据参数部分中的
encodeURIComponent(myQuery)
而不是
myQuery
对查询进行编码?403是一个权限错误。查询未到达查询引擎。可能是
myEndPoint
错误或
cors