Javascript jQuery:如何将2个请求结果连接到json服务器?

Javascript jQuery:如何将2个请求结果连接到json服务器?,javascript,jquery,json,service,request,Javascript,Jquery,Json,Service,Request,我想知道我们能不能做点什么 var joinedJSON; $.get("server.json?action=type&type=image", function(json) {joinedJSON +=json ; } $.get("server.json?action=type&type=jpg", function(json) {joinedJSON +=json ; } $.get("server.json?action=type&type=png",

我想知道我们能不能做点什么

 var joinedJSON;
 $.get("server.json?action=type&type=image", function(json) {joinedJSON +=json ; }
 $.get("server.json?action=type&type=jpg", function(json) {joinedJSON +=json ; }
 $.get("server.json?action=type&type=png", function(json) {joinedJSON +=json ; }
 $.get("server.json?action=type&type=tiff", function(json) {joinedJSON +=json ; }
虽然每个请求都会向我们提供此类JSON数据:

[
    {
        "href": "bf051e8675b11c72eec781e855593589a086d2295378b96a8b7269c31b8fa673.user.file",
        "title": "Привет Мир.jpg",
        "user_name": "Oleg.Jakushkin@gmail.com",
        "modified": "2012-01-16 07:24:11",
        "is_public": 0,
        "size": 65516
    },
    {
        "href": "abd01be9a0830579d6366e48fc0c48d4c7cc350d80719843ca84c782346626f6.user.file",
        "title": "",
        "user_name": "Oleg.Jakushkin@gmail.com",
        "modified": "2012-01-16 07:24:19",
        "is_public": 0,
        "size": 89782
    },
    {
        "href": "0a27fd3b563b2877c3a072648e0f7c2a57539f3aba4ce688c7774eca6b70774e.user.file",
        "title": "Привет Мир 2.jpg",
        "user_name": "Oleg.Jakushkin@gmail.com",
        "modified": "2012-01-16 07:24:29",
        "is_public": 1,
        "size": 58574
    }
]
我们会得到一个长数组吗?我们会记住某些项可能会重复(C++中的multymap)?

一旦您(或您的代码)将返回的JSON字符串解析为数组,您就可以使用.concat()将这两个数组合并为一个数组

var jsontotal = json1.concat(json2);
一旦您(或您的代码)将返回的JSON字符串解析为数组,就可以使用.concat()将这两个数组合并为一个数组

var jsontotal = json1.concat(json2);

您可以创建响应数组并合并
您可以创建响应数组并合并

注意,数组上的添加操作
+
没有在Javascript中定义。它不是将一个数组扩展为另一个数组,而是将它们强制为字符串并连接起来

[1,2,3] + [4,5,6] // will produce '1,2,34,5,6'
您应该改用
concat

[1,2,3].concat([4,5,6])
另外,请注意,
$.get
是一个异步函数。如果您只是在提供的代码中序列化它们,您将不知道所有请求何时完成。相反,您应该尝试在前一个请求的回调函数中发出每个请求。这确保了每个请求都是在收到前一个请求的响应后发出的

var joinedJSON = [];
$.get("server.json?action=type&type=image", function(json) {
  joinedJSON.concat(json);
  $.get("server.json?action=type&type=jpg", function(json) {
    joinedJSON.cancat(json);
  }
}

如果你发现嵌套回调是丑陋的,你可以考虑使用.< /p>

注意,在JavaScript中没有定义添加操作<代码> > +代码>。它不是将一个数组扩展为另一个数组,而是将它们强制为字符串并连接起来

[1,2,3] + [4,5,6] // will produce '1,2,34,5,6'
您应该改用
concat

[1,2,3].concat([4,5,6])
另外,请注意,
$.get
是一个异步函数。如果您只是在提供的代码中序列化它们,您将不知道所有请求何时完成。相反,您应该尝试在前一个请求的回调函数中发出每个请求。这确保了每个请求都是在收到前一个请求的响应后发出的

var joinedJSON = [];
$.get("server.json?action=type&type=image", function(json) {
  joinedJSON.concat(json);
  $.get("server.json?action=type&type=jpg", function(json) {
    joinedJSON.cancat(json);
  }
}

<>如果你发现嵌套回调是丑陋的,你可以考虑使用./p>原则上你可以做到这一点。但是,您可能需要手动编写一些粘合代码。特别是,因为JSON数据没有足够的语义来允许自动完成这项工作。原则上,您可以这样做。但是,您可能需要手动编写一些粘合代码。特别是,因为JSON数据没有足够的语义来允许自动完成这项工作。