我正在尝试打印特定json对象的结果。我收到了
Uncaught TypeError: undefined is not a function
尝试执行以下代码时:
$.getJSON("http://test.test.com/api/service/Something()?username=" + username + "&password=" + password + "&$format=json", function( d ){
var tr;
results = d.d.results;
for (var i=0; i<results.length; i++){
tr = ("</tr>");
tr.append("<td>" + results[i].something + "</td>");
tr.append("<td>" + results[i].something_2 + "</td>");
tr.append("<td>" + results[i].something_3 + "</td>");
$('table').append(tr);
}
我几乎从另一个问题复制了上面的代码,显然我做错了。
错误来自此处&gt; tr.append("" + results[i].something + "")
答案 0 :(得分:2)
tr = $("<tr/>");
您错过了$
,并且/
位置错误。
另外:
tr.append("<td>" + results[i].something + "</td>");
^^^^^ missing
答案 1 :(得分:1)
tr
没有名为append
的函数,因为您从未定义过一个函数。以下是您创建tr
的方式:
var tr;
tr = ("</tr>");
所以tr
此时可能只是一个字符串。你永远不会在上面定义任何函数,所以这不会起作用:
tr.append(...);
也许你打算创建一个jQuery对象?:
tr = $("</tr>");
虽然在这种情况下你可能也想要创建元素,而不是关闭它:
tr = $("<tr/>");
(另请注意,您的第一个append()
缺少开场td
元素。)
答案 2 :(得分:0)
更改
tr = ("</tr>");
tr.append("" + results[i].something + "</td>");
要
tr = $("<tr/>");
tr.append("<td>" + results[i].something + "</td>");