Javascript 两个JSON请求的列表

Javascript 两个JSON请求的列表,javascript,json,parsing,Javascript,Json,Parsing,我不知道如何做正确的事情。 通过此查询,我得到一个JSON,文件名为: $.getJSON("http://api.server.com/my/?callback=?", function(data){ var results = []; $.each(data['results'], function(i, result) { results.push("<div class='accordion-group span4'&

我不知道如何做正确的事情。 通过此查询,我得到一个JSON,文件名为:

$.getJSON("http://api.server.com/my/?callback=?",
    function(data){
        var results = [];
        $.each(data['results'], function(i, result) {
            results.push("<div class='accordion-group span4'><div class='accordion-heading'>Video Frame<blockquote><a href='http://server.com/video/?my=" + result.File + "' target='_blank'><img src='http://jpg.server.com/" + result.File + ".jpg' class='img-polaroid'/></a><p>" + result.ListId + "</p><small>" + result.OwnerId + "</small><small>" + result.updatedAt + "</small>    </blockquote><a class='accordion-toggle' data-toggle='collapse' data-parent='#accordion2' href='#" + result.File + "'>Share video</a></div><div id='" + result.File + "' class='accordion-body collapse'><div class='accordion-inner'><form class='share_file_form'>Set list<input name='nd' id='user_id' type='hidden'><input name='file' value = '" + result.File + "' type='hidden'><div class='list'></div><input type='text' placeholder='New list'><div class='modal-footer'><button class='share_file_submit'>Share video</button></div></form><div id='user_info_result'></div></div></div></div>");
        });
        $('#mytile').html(results.join(""));
    }
);
$.getJSON(“http://api.server.com/my/?callback=?",
功能(数据){
var结果=[];
$.each(数据['results'],函数(i,result){
结果.推送(“视频帧”+result.ListId+“

”+result.OwnerId+”+result.updatedAt+“设置listShare视频”); }); $('#mytile').html(results.join(“”); } );
通过此查询,我得到一个带有标记名的JSON:

$.getJSON("http://api.server.com/list/?callback=?",
    function(data){
    var results = [];
    $.each(data['results'], function(i, result) {
        results.push("<label class='radio'><input type='radio' name='list' id='" + result.List + "' value='" + result.List + "' checked>" + result.List + "</label>");
    });
    $('.my_list').html(results.join(""));
    }
);
$.getJSON(“http://api.server.com/list/?callback=?",
功能(数据){
var结果=[];
$.each(数据['results'],函数(i,result){
results.push(“+result.List+”);
});
$('.my_list').html(results.join(“”);
}
);
最后,我需要显示一个文件列表。在每个文件旁边,应显示一个带有文件名和标记列表的表单:

$(document).on('click', '.share_file_form', function() {
    $('.share_file_form').validate({
        submitHandler: function(form) {
            $.ajax({
                type: "GET",
                url: "http://api.server.com/set/",
                timeout: 20000,
                data: $(form).serialize(),
                beforeSend: function() {
                    $(".share_file_submit").attr("disabled", true);
                    $(".share_file_submit").html("Send <img src='http://src.server.com/loadr.gif' border='0'/>");
                },
                success: function(msg){
                    console.log("Data Saved: " + msg);
                    $("#share_file_submit").attr('disabled', false);
                    $("#share_file_submit").html("Share video");
                    $("#user_info_result_2").html(msg);
                },
                error: function(msg){
////////////////            $('#user_info_result_2').html("<div class='alert alert-error span3'>Failed from timeout. Please try again later. <span id='timer'></span> sec.</div>");
                }
            });
        }
    });


});
$(文档)。在('click','share_file_form',function()上{
$('.share\u file\u form')。验证({
submitHandler:函数(表单){
$.ajax({
键入:“获取”,
url:“http://api.server.com/set/",
超时:20000,
数据:$(表单).serialize(),
beforeSend:function(){
$(“.share\u file\u submit”).attr(“已禁用”,true);
$(“.share_file_submit”).html(“发送”);
},
成功:功能(msg){
console.log(“保存的数据:“+msg”);
$(“#共享#文件#提交”).attr('disabled',false);
$(“#共享#文件_提交”).html(“共享视频”);
$(“#用户信息"结果"2”).html(msg);
},
错误:函数(msg){
////////////////$('#user_info_result_2').html(“超时失败。请稍后再试。秒”);
}
});
}
});
});
所有这些都有效

问题是如何确保每个表单都能单独工作?
现在只适用于第一种形式。如果你按下其他表单上的按钮,第一个表单仍然有效。

嗯。我“想”我知道你想要什么

将第二个调用包装到一个方法中,或者两者都包装,怎么样

 function fireJSON(){
    var func1 = function(){
      //your first json code
      func2(); // call your second json code
    }
    var func2 = function(){
          // second json code
    }
     return {
       func1: func1
     }

   }


   fireJSON().func1();

您的错误在于识别用户单击的表单的方式。以下是问题所在:

$('.share_file_form').validate({
独立于您单击的内容,您总是可以使用此选择器获得第一个表单

以下是您需要的:

$(document).on('click', '.share_file_form', function(event) {
    $(event.target).validate({
        submitHandler: function(form) {

你想干什么?“现在只适用于第一种形式”是什么意思?我认为任何人在回答这些问题时都会看到表单背后的代码,包括可能存在的任何事件处理程序,以及您期望发生的事情和实际发生的事情。按钮的作用是什么?你能展示处理函数吗?提供的代码不够。这与他的表单有什么关系?我们还不知道他的行为,我认为他的行为是不正当的。这样,他只需要改变动作。当然,我可以等他回来提供更多信息,但我只是想问一些我可能会有所帮助的问题,可能不会再看到这篇文章了。但是,是的,我不知道他的代码出了什么问题,我只是“假设”,也许这会有所帮助,没什么。谢谢。此解决方案有效,但按表单页面上的按钮会重新加载$(文档).on('click','.share_file_form',function(event){$(event.target).验证({submitHandler:function(form){$.ajax({type:'POST',url:,timeout:20000,data:$(form).serialize(),beforeSend:function(){$(“.share_file_submit”).attr(“disabled”,true);},成功:function(msg){,错误:函数(msg){}};}}};});