Конвертировать объект javascript или массив в json для данных ajax
Итак, я создаю массив с информацией об элементах. Я перебираю все элементы и сохраняю индекс. По какой-то причине я не могу преобразовать этот массив в объект json!
Это мой цикл массива:
var display = Array();
$('.thread_child').each(function(index, value){
display[index]="none";
if($(this).is(":visible")){
display[index]="block";
}
});
Я пытаюсь превратить его в объект JSON:
data = JSON.stringify(display);
Кажется, он не отправляет правильный формат JSON!
Если я передаю код так, он работает и отправляет информацию:
data = {"0":"none","1":"block","2":"none","3":"block","4":"block","5":"block","6":"block","7":"block","8":"block","9":"block","10":"block","11":"block","12":"block","13":"block","14":"block","15":"block","16":"block","17":"block","18":"block","19":"block"};
Когда я делаю предупреждение об объекте JSON.stringify, он выглядит так же, как и объект, закодированный вручную. Но это не работает.
Я схожу с ума, пытаясь решить это! Что мне здесь не хватает? Как лучше всего отправить эту информацию, чтобы получить формат с ручным кодом?
Я использую этот метод ajax для отправки данных:
$.ajax({
dataType: "json",
data:data,
url: "myfile.php",
cache: false,
method: 'GET',
success: function(rsp) {
alert(JSON.stringify(rsp));
var Content = rsp;
var Template = render('tsk_lst');
var HTML = Template({ Content : Content });
$( "#task_lists" ).html( HTML );
}
});
Использую метод GET, потому что я отображаю информацию (не обновляю и не вставляю). Только отправка отображаемой информации в мой php файл.
КОНЕЧНОЕ РЕШЕНИЕ
var display = {};
$('.thread_child').each(function(index, value){
display[index]="none";
if($(this).is(":visible")){
display[index]="block";
}
});
$.ajax({
dataType: "json",
data: display,
url: "myfile.php",
cache: false,
method: 'GET',
success: function(rsp) {
alert(JSON.stringify(rsp));
var Content = rsp;
var Template = render('tsk_lst');
var HTML = Template({ Content : Content });
$( "#task_lists" ).html( HTML );
}
});