Javascript 如何在JS中正确地子集特定对象

Javascript 如何在JS中正确地子集特定对象,javascript,api,object,Javascript,Api,Object,我目前正在进行一些练习,我想在此api上打印每部电影的标题: https://jsonmock.hackerrank.com/api/movies?Year=1998 基本上,我希望在第一页打印每个标题(或者最好是一个特定的页面) 这是我的代码: <script> function printTItles(year) { var res; xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = fun

我目前正在进行一些练习,我想在此api上打印每部电影的标题:

https://jsonmock.hackerrank.com/api/movies?Year=1998

基本上,我希望在第一页打印每个标题(或者最好是一个特定的页面)

这是我的代码:

<script>
function printTItles(year) {
  var res;
  
  xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      res = JSON.parse(this.responseText);
      
      for(var i=0;i<res.per_page;i++){
        document.getElementById("demo").innerHTML = res.data.i.Title;
      }
    };
  }
  xmlhttp.open("GET", "https://jsonmock.hackerrank.com/api/movies?Year=<year>", true);
  xmlhttp.send();
}
</script>

功能打印标题(年){
var-res;
xmlhttp=新的XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
res=JSON.parse(this.responseText);

对于(var i=0;i您试图访问循环中索引
i
处的元素,就像访问对象的属性一样。要获取
res.data
数组中
i
位置的元素,需要方括号访问
[]

此外,您没有替换传递给您的函数的
年份
参数请求中的
年份
参数。您可能想检查一下

这里我以2018年为例

函数打印标题(年){
var-res;
xmlhttp=新的XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
res=JSON.parse(this.responseText);

对于(var i=0;i
res.data[i]。Title
未捕获类型错误:res.data[0]未定义这可能是因为
?Year=
未检索数据??