如下的 Ajax 无法正确得到数据 。
$(function(){ var cstr = "<span>"; $.getJSON(contactorUrl,{},function(data){ $.each(data.contactors, function(i,name) { cstr += "<a onclick='o'>"+name+"</a>"; }); }); cstr += "</span>"; alert(cstr); }
cstr 为空
似乎, Ajax 的数据, 只能在其方法体内部有效, 就是局部变量的形式 。
要能够正确加载到数据, 只能写为 :
$(function(){
var obj = $(this).parent();
$.getJSON(contactorUrl,{},function(data){
var cstr = "<span>";
$.each(data.contactors, function(i,name) {
cstr += "<a onclick='o'>"+name+"</a>";
});
cstr += "</span>";
obj.append(cstr);
});
}
就是把要改变内容的对象传递到Ajax方法体内部去加载数据 。