2016-12-15 55 views
2

我试图在我的网页中实现一个API。但是,由于某种原因,没有数据正在显示。我做了一个类似的事情,就像我以前的API一样,它不起作用。jQuery的API问题

下面是我的代码:

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 
    <script language="JavaScript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<script language="JavaScript" type="text/javascript"> 
 
    $(function() { 
 
     var req = $.ajax({ 
 
      url: "http://api.lmiforall.org.uk/api/v1/soc/search?q=computer" 
 
     }); 
 

 
     console.log(data); 
 

 
     req.done(function (data) { 
 
      var wrapperDiv = $("<div />", { 
 
       "class": "wrapper" 
 
      }); 
 

 
      var title = $("<h2 />", { 
 
       text: data[0].title 
 
      }); 
 

 
      wrapperDiv.append(title); 
 

 
      $("body").append(wrapperDiv); 
 
     }); 
 
    }); 
 
</script> 
 
</body> 
 
</html>

随着API是标题的数据类型,这是一个职位,我想显示在页面上的第一个冠军。然而,无任何显示,我得到这些错误消息:

enter image description here

老实说,我不知道什么是错。任何帮助将非常感激。

回答

1

您将“数据”记录在“完成”方法范围之外。尝试这样的:

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Title</title> 
 
    <script language="JavaScript" type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<script language="JavaScript" type="text/javascript"> 
 
    $(function() { 
 
     var req = $.ajax({ 
 
      url: "http://api.lmiforall.org.uk/api/v1/soc/search?q=computer" 
 
     }); 
 

 
     req.done(function (data) { 
 

 
      console.log(data); 
 

 
      var wrapperDiv = $("<div />", { 
 
       "class": "wrapper" 
 
      }); 
 

 
      var title = $("<h2 />", { 
 
       text: data[0].title 
 
      }); 
 

 
      wrapperDiv.append(title); 
 

 
      $("body").append(wrapperDiv); 
 
     }); 
 
    }); 
 
</script> 
 
</body> 
 
</html>

+1

谢谢你固定它。 – Mechazawa