Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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
Javascript 自定义XHR不返回JSON_Javascript_Jquery_Json_Xmlhttprequest - Fatal编程技术网

Javascript 自定义XHR不返回JSON

Javascript 自定义XHR不返回JSON,javascript,jquery,json,xmlhttprequest,Javascript,Jquery,Json,Xmlhttprequest,我正在为我工作的博物馆写一个小型实用工具。丹麦文化部有一个数据库REGIN,在那里我可以用JSON访问有关博物馆物品的各种信息。它是跨域的,没有回调。现在,有了一个访问数据的API,我知道了如何访问数据库中的项目部分,所以我可以选择有关特定博物馆项目的信息 我的问题是:这些项目被安排在不同的“视图列表”或“集合”中,它们放在其他地方。我应该能够访问与我的博物馆相关联的所有“收藏”的JSON列表,其id为229。 网址是 当我在浏览器中正常访问它时,可以肯定的是,在JSON中有关于博物馆“视图”的

我正在为我工作的博物馆写一个小型实用工具。丹麦文化部有一个数据库REGIN,在那里我可以用JSON访问有关博物馆物品的各种信息。它是跨域的,没有回调。现在,有了一个访问数据的API,我知道了如何访问数据库中的项目部分,所以我可以选择有关特定博物馆项目的信息

我的问题是:这些项目被安排在不同的“视图列表”或“集合”中,它们放在其他地方。我应该能够访问与我的博物馆相关联的所有“收藏”的JSON列表,其id为229。 网址是 当我在浏览器中正常访问它时,可以肯定的是,在JSON中有关于博物馆“视图”的相关信息

[
{ "viewId" : "778","OprettetAfId" : "6813","OprettetDato" : "2011-06-20","name" : "Sølv test","keyword" : "test","text" : "Test af genstand for "skab 8"","museumId" : "229" },
{ "viewId" : "779","OprettetAfId" : "6813","OprettetDato" : "2011-06-22","name" : "Rum 29 - Skab 3","keyword" : "Test, drikkekrus, porcelæn","text" : "Genstande til Bibliotekssalens mobil-udstilling, skab 3.","museumId" : "229" },
{ "viewId" : "786","OprettetAfId" : "6813","OprettetDato" : "2011-09-02","name" : "genstand3skab3","keyword" : "til skab 3","text" : "Kærlighedsguden Amor","museumId" : "229" },
{ "viewId" : "792","OprettetAfId" : "6813","OprettetDato" : "2011-10-10","name" : "Skab 3 Bibliotekssalen","keyword" : "Porcelæn","text" : "Skab 3","museumId" : "229" },
{ "viewId" : "793","OprettetAfId" : "6813","OprettetDato" : "2011-10-13","name" : "genstand2skab3","keyword" : "til skab 3","text" : "Fugtbarhedsgudinden Ceres, skab 3","museumId" : "229" }
]
var objectId = 3911238;

$(document).ready(function() { 
xmlhttp = new XSiteHttpRequest();

xmlhttp.open("GET","https://www.kulturarv.dk/regin/dapi/ListView?viewType=objectContent&format=json&objectType=Genstand&objectId=" + objectId,true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   if (xmlhttp.status!=404) {
    alert("Works!");
   } 
   else {
    alert("Does not work!");
   };
  };
 };
 xmlhttp.send(null);

});

现在,由于我不知道的原因,我用来访问特定项目信息的相同过程不允许我打开前面提到的URL。下面是我访问上述JSON的代码,它不返回任何内容:

$(document).ready(function() { 
    xmlhttp = new XSiteHttpRequest(); //a custom XHR... not sure why they decided to do it that way

    xmlhttp.open("GET","https://www.kulturarv.dk/regin/dapi/ListView?&viewType=viewList&format=json&museumId=229",true);
     xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4) {
       if (xmlhttp.status!=404) {
        alert("Works!");
       } 
       else {
        alert("Does not work!");
       };
      };
     };
     xmlhttp.send(null);

    });

现在,我假设由于我没有收到警报(“工作!”)或警报(“不工作!”),我做错了什么

使用此URL的过程与此相同:

此代码会发出适当的警报:

[
{ "viewId" : "778","OprettetAfId" : "6813","OprettetDato" : "2011-06-20","name" : "Sølv test","keyword" : "test","text" : "Test af genstand for "skab 8"","museumId" : "229" },
{ "viewId" : "779","OprettetAfId" : "6813","OprettetDato" : "2011-06-22","name" : "Rum 29 - Skab 3","keyword" : "Test, drikkekrus, porcelæn","text" : "Genstande til Bibliotekssalens mobil-udstilling, skab 3.","museumId" : "229" },
{ "viewId" : "786","OprettetAfId" : "6813","OprettetDato" : "2011-09-02","name" : "genstand3skab3","keyword" : "til skab 3","text" : "Kærlighedsguden Amor","museumId" : "229" },
{ "viewId" : "792","OprettetAfId" : "6813","OprettetDato" : "2011-10-10","name" : "Skab 3 Bibliotekssalen","keyword" : "Porcelæn","text" : "Skab 3","museumId" : "229" },
{ "viewId" : "793","OprettetAfId" : "6813","OprettetDato" : "2011-10-13","name" : "genstand2skab3","keyword" : "til skab 3","text" : "Fugtbarhedsgudinden Ceres, skab 3","museumId" : "229" }
]
var objectId = 3911238;

$(document).ready(function() { 
xmlhttp = new XSiteHttpRequest();

xmlhttp.open("GET","https://www.kulturarv.dk/regin/dapi/ListView?viewType=objectContent&format=json&objectType=Genstand&objectId=" + objectId,true);
 xmlhttp.onreadystatechange=function() {
  if (xmlhttp.readyState==4) {
   if (xmlhttp.status!=404) {
    alert("Works!");
   } 
   else {
    alert("Does not work!");
   };
  };
 };
 xmlhttp.send(null);

});

我看不出两者之间有什么区别,那么这里可能发生了什么


我通过Firefox运行了不起作用的代码,错误控制台显示“unterminated string literal”。不确定这意味着什么。

开发人员写道,这是一个特殊对象,具有与XMLHttpRequest相同的API。我使用它作为XMLHttpRequest,它在我后面的代码示例中运行良好,但在另一个代码示例中不起作用。。。链接到他们的文档: