Javascript变量具有随机设置值

时间:2016-08-26 07:15:02

标签: javascript jquery ajax

我正在使用ajax从我的控制器获取变量,一切都很好,直到我将返回的数据推送到另一个变量。

这是我的代码片段

$(".event_selector").change(function() {

    $.ajax({
      url: "/get_customer_values",
      type: "GET",
      async:false,
      data: {event_selected: $(".event_selector").val()},
      success: function(data){
        var customer_values = {};
        for (var i in data) {
          //This alert has the correct values
          alert(i + " " + data[i]);
          customer_values[i] = data[i];
        }
      }
    });

    for(var i in customer_values) {
      //This is the alert that shows all the crazy values
      alert("customer_values " + i + " " + customer_values[i]);
    }

    add_customer_values_to_panel(customer_values)

  });

使用i和data [i]的第一个警报是完美的,具有所有正确的值。使用customer_values哈希的第二个警报具有看起来像设置的值,例如:

关键值

点击功能点击(){[原生代码]}

properties [object HTMLPropertiesCollection]

oncanplaythrough null

onchange null

onclick null

oncontextmenu null

ondblclick null

ondrag null

ondragend null

getAttributeNames函数getAttributeNames(){[native code]}

getAttribute函数getAttribute(){[native code]}

getAttributeNS函数getAttributeNS(){[native code]}

它至少有100个其他值,如下所示。

我尝试将var customer_values初始化移到ajax的外部,但这不起作用(没有任何反应,甚至没有触发第一个警报)。

发生了什么事?这些数据来自哪里?谢谢。

1 个答案:

答案 0 :(得分:2)

你的“customer_values”对象不是全局的,它是在ajax成功函数中定义的......