我的功能是从api中提取信息,然后将其放入表中。由于某种原因,此功能无效。
这是我的功能:
function getPayInfo(socCode) {
var apiurl = "http://api.lmiforall.org.uk/api/v1/ashe/estimatePay?soc=";
var apicall = apiurl + socCode;
$.get(apicall, function(data) {
$("#Pay tbody").html("");
$.each(data.years, function(i, e) {
var tablerow = $("<tr></tr>");
tablerow.append("<td>" + e.year + "</td>");
tablerow.append("<td>" + e.estpay + "</td>");
$("#Pay tbody").append(tablerow);
});
});
}
这是我把它放进去的表格:
<div class="well table table-stripped">
<h4>Pay Information</h4>
<h5>Pounds per Week</h5>
<table id="Pay">
<thead>
<tr>
<th>Year</th>
<th>Estimate Pay</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
我希望它能将一年和数据值返回到表格中。如果您在函数中获取url并将某个4位数值(socCode)(例如5113)添加到结尾,它将在线提供数据,然后将其返回到表体。
答案 0 :(得分:0)
您是否调试/检查了$.get
回调中的数据结构?在我看来,您的访问方法不正确。当我访问您的example url时,我会收到以下数据:
{
"soc":5113,
"series":[
{
"year":2012,
"estpay":340
}
]
}
我认为你希望你的迭代器成为这样:
// there is no data.years
$.each(data.series, function(i, e) {
...
这应该使您的e
参数的格式为{year: 2012, estpay: 340}
,这似乎是您想要将其解释为的内容。