开发者社区> 问答> 正文

jquery如何循环get后将请求到的json合并

api_domain = ***,
search = {
    artist: api_domain + 'search/musician',
    music: api_domain + 'search/music',
    playlist: api_domain + 'search/playlist',
  }
function search(keyword) {
  for (i in search) {
    $.get(search[i], {
      'keyword': keyword,
      'page': 1,
      'page_count': 20,
    },function(data){
      console.log(data);
    })
  }
}

现在的问题是如何把三个返回的结果合并在一起,结构为

{
    artist: data1,
    music: data2,
    playlist: data3

展开
收起
小旋风柴进 2016-05-27 11:07:40 2129 0
1 条回答
写回答
取消 提交回答
  • api_domain = ***,
    search = {
        artist: api_domain + 'search/musician',
        music: api_domain + 'search/music',
        playlist: api_domain + 'search/playlist',
      }
    
    function search(keyword) {
      $.when(
        $.get(api.search.music, {
          'keyword': keyword,
          'page': 1,
          'page_count': 20,
        }),
        $.get(api.search.artist, {
          'keyword': keyword,
          'page': 1,
          'page_count': 20,
        }),
        $.get(api.search.playlist, {
          'keyword': keyword,
          'page': 1,
          'page_count': 20,
        })
      ).done(function(music, artist, playlist) {
        var data = new Object
        $.extend(true, data, music[0], artist[0], playlist[0]);
        console.log(data);
      })
    2019-07-17 19:17:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
探究 Node.js 的服务端之路 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载