我有这个问题 - 我想做多次AJAX请求,但我需要在第一次成功完成时发送第二个请求。
我尝试使用 jQuery Deffered 对象, jQuery.when()和 jQuery.then()方法,但是......( ((
最后我使用了这个插件 - https://github.com/dio-el-claire/jquery.waterfall。但我不能这样做。因为,据我所知,使用此插件时,所有返回的数据都会同时输出。
例如http://www.wolframalpha.com。
感谢您提前!
抱歉我的英语不好
答案 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)
)
希望有所帮助。