所以我正在创建一个包含元素信息的数组.我遍历所有元素并保存索引.出于某种原因,我无法将此数组转换为json对象!
这是我的数组循环:
var display = Array();
$('.thread_child').each(function(index, value){
display[index]="none";
if($(this).is(":visible")){
display[index]="block";
}
});
Run Code Online (Sandbox Code Playgroud)
我尝试通过以下方式将其转换为JSON对象:
data = JSON.stringify(display);
Run Code Online (Sandbox Code Playgroud)
它似乎没有发送正确的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"};
Run Code Online (Sandbox Code Playgroud)
当我对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 );
}
});
Run Code Online (Sandbox Code Playgroud)
使用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, …
Run Code Online (Sandbox Code Playgroud)