瀑布AJAX多个请求(例如在wolfram alpha中)

时间:2013-04-03 17:43:39

标签: jquery ajax

我有这个问题 - 我想做多次AJAX请求,但我需要在第一次成功完成时发送第二个请求。

我尝试使用 jQuery Deffered 对象, jQuery.when() jQuery.then()方法,但是......( ((

最后我使用了这个插件 - https://github.com/dio-el-claire/jquery.waterfall。但我不能这样做。因为,据我所知,使用此插件时,所有返回的数据都会同时输出。

例如http://www.wolframalpha.com

感谢您提前!

抱歉我的英语不好

1 个答案:

答案 0 :(得分:1)

使用ajax调用的成功部分。您可以在那里放置一个函数来处理返回的数据。你也可以处理错误。

我这样做是伪咖啡,但希望它有意义。

jQuery(() ->
  window.App = {};
  window.App.behaviors = [];
  window.App.behaviors.push(ComposableBehavior.new());
)

class ComposableBehavior(() ->
  getData: ((url,successFunction, errorFunction) ->
    $.ajax(
      url:url,
      type:'GET',
      data: {this: "that"},
      success: (data) =>
        successFunction(data)
      error: (errorData) =>
        errorFunction
      )
    )
  )
  initialParse: ((data) ->
    thePlayer = JSON.parse(data)
    //updatePlayerUi(thePlayer)
    @getScores(thePlayer)
  )
  getScores: ((thePlayer) =>
    getData('player/'+thePlayer.id+/'scores', @displayScores, @uhOh)
  )

  displayScores: (data) =>
    //updateScoreUi(data)

  uhOh: (errorData) =>
   // displayError(errorData)
)

希望有所帮助。