Я использую ajax для получения переменной из моего контроллера, и все отлично, пока я не нажму возвращаемые данные в другую переменную.Переменная Javascript имеет случайные значения уставок
Вот мой фрагмент кода
$(".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)
});
первое предупреждение, используя я и данные [я] совершенен, со всеми нужными значениями. Второе предупреждение с помощью customer_values хэш имеет значения, которые выглядят как настройки, такие как:
KEY VALUE
функции нажмите мыши() {[машинный код]}
свойства [объект HTMLPropertiesCollection]
oncanplaythrough нуль
OnChange нулевой
OnClick нуль
oncontextmenu нуль
ondblclick нуль
ondrag нулевые
ondragend нулевые
функцияgetAttributeNames getAttributeNames() {[машинный код]}
GetAttribute функция GetAttribute () {[собственный код]}
getAttributeNS function getAttributeNS() {[native code]}
У этого есть как минимум 100 других значений, которые выглядят так.
Я попытался переместить инициализацию var customer_values на outsite ajax, но это не работает (ничего не происходит, и первое предупреждение даже не запускается).
Что происходит? Откуда берутся эти данные? Спасибо.
Где вы объявляете 'customer_values', и как вы инициализировать его? –
У вас есть элемент html с 'id =" customer_values "'? Учитывая, что только показанный «customer_values» объявлен внутри обратного вызова успеха Ajax, второй цикл 'for' * не может * получить к нему доступ, но при условии, что вместо того, чтобы бросать опорную ошибку, он, как представляется, регистрирует свойства, которые имеют элементы html ... хорошо ... – nnnnnn