Я этот скрипт на моем .cshtml страницеНажимные элементы массива после АЯКС постбэка
$(function() {
var tempArray = [];
var tbValue = $('#tb1').val();
$.ajax({
url: "/ControllerName/getdata",
dataType: 'json',
data: { strText: tbValue },
success: function (Data) {
$.each(Data, function (index, value) {
tempArray.push(value.Name);
});
$("#tb1").autocomplete({
source: tempArray,
minLength: 0
});
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(xhr.responseText);
console.log(thrownError);
alert("failure");
}
});
});
Теперь после вызова AJAX я получить список объектов в Data
, как это
я получаю следующие значения index
и value
в каждом цикле
Проблема возникает, когда я пытаюсь передавать данные в tempArray
внутри каждого цикла.
Я получаю неопределенный пункт в моем массиве, и он выходит из каждого цикла. Как добавить элементы в массив?
Примечание: В журнале консоли отсутствуют ошибки, и я работаю над MVC3.
Что получены * фактические данные *? * Включите соответствующий образец JSON * из сетевого монитора * в текст * в вопросе (а не изображение). Из представленных изображений и значений появляется внешний массив * object *. – user2864740
Кроме того, переместите tempArray * в * обратный вызов успеха, чтобы повысить четкость кода (он не имеет никакой цели снаружи). Назначение или изменение общего объекта почти никогда не является правильным в обработчике AJAX и приводит к множеству неправильных способов использования. – user2864740
@ user2864740: я получаю это значение 'Data: Array [12] 0: Объект Класс: 1 Id: 1 Название: "Амит" Раздел: "A"' , а также пытался принимать 'tempArray' in Success –