希望在我对瑞典统计局 (SCB) 的 ajax 调用中获得帮助来识别问题。
SCB API 说明在这里
我可以通过以下调用成功获取表元数据(说明中的步骤 4.3)
$.ajax({
url: "http://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0401/BE0401B",
type: "POST",
dataType: 'json',
success: function(response) {
console.log(response);
},
error: function(xhr) {
console.log(xhr.statusText)
}
});
但是,当我尝试在下面使用 POST 请求查询表时,我收到 404 错误未找到。
(示例取自说明中的步骤 4.4 - PDF 第 7 页的下半部分)
或者,如果我尝试使用 GET 请求,我只会得到表元数据而没有结果
$.ajax({
url: "http://api.scb.se/OV0104/v1/doris/en/ssd/BE/BE0401/BE0401B/BefProgFoddaMedel15",
data: {
"query":
[{"code":"Fodelseland", "selection":{"filter":"item",
"values":["010","020"]}},
{"code":"Alder", "selection":{"filter":"all", "values":["*"]}},
{"code":"Tid", "selection":{ "filter":"top", "values":["3"]}}],
"response": {"format":"json"}
},
type: "POST", // GET returns only table metadata
dataType: 'json',
success: function(response) {
console.log(response);
},
error: function(xhr) {
console.log(xhr.statusText)
}
});
编辑
补充说,也尝试了 GET 请求,但只返回表元数据而不是统计信息
解决方案
在发布前对查询数据调用 JSON.stringify。
Petros Likidis 在下面发布的代码