1

我正在进行 ajax 调用并返回一个 json 数据数组。然后我尝试在对象上做一个 each 并创建一些 HTML。

success: function (data) {
   var abc = null;
   var obj = $.parseJSON(data);
   $.each(obj, function(key, value) {
   abc += '<option value="' + key + '">' + value + '</option>';
   }); 
}

当我将变量 abc 放在控制台中时,在 .each 函数中,我可以看到输出。但是,当我尝试从 .each 函数外部访问变量 abc 时,我收到一条错误消息 Uncaught ReferenceError: abc is not defined

4

1 回答 1

1

Uncaught ReferenceError: abc is not defined- 正如错误所说,abc无法从访问变量的位置访问该变量。

我认为您正在访问abc外部成功回调,但范围abc在回调内部,因为它是在回调内部定义的。如果要在回调外部访问变量,可以将 var 声明移到外部。

此外,您应该将其定义为var abc = ""而不是null. 定义null将返回一个以 null 开头的最终结果字符串。

于 2013-05-10T18:29:21.400 回答