我一直在尝试调用一个函数,在预先存在的div标签中附加html标签,如下所示:
function loadTextbox(jsonUrl,divId){
$.getJSON(jsonUrl, function(json) {
alert('hello');
$('#' + divId).append('<h2></h2>')
.find('h').append(json.heading).attr(json.config.backgroundConfig)
.find('h').attr(json.config.headingConfig).append(json.heading).parent()
.find('p').attr(json.config.bodyConfig).append(json.body);
})
}
这是一个复杂的例子,但是我无法在任何其他函数中使用append()函数。我可以直接从.js追加,但没有运气。我也知道json调用正在工作,因为我使用相同的调用并查询不同的函数。将append()放在函数中是否有问题?
编辑:还有一个注释,上面的提醒不起作用。但是如果向上移动一行(在$ .getJSON调用之上它可以正常工作。也许这很重要? 另外,我在同一个.js文件中直接调用它下面的函数:
loadTextbox("./json/textbox.json","text");
答案 0 :(得分:0)
如果您的警报从未显示,当它在功能内部时,则表示您没有收到回复。
如果您使用的是Firefox,请使用Firebug插件查看是否在服务器端抛出异常。
答案 1 :(得分:-1)
您可能需要查看文档:
jQuery.getJSON(url,[data],[success(data,textStatus,jqXHR)])
这意味着:你的回调是3e参数,而不是第二个。
- 编辑
所以你想要做的是:
$.getJSON(jsonUrl, '', function(json) {
...