AJAX响应文本成功

时间:2015-07-16 16:11:35

标签: javascript jquery ajax

现在我正在将我的AJAX请求修改为异步,但我想知道是否有类似于var reponse = $.ajax({的成功事件。在我将代码作为:

之前
     var response = $.ajax({
           type : "GET",
           url : url,
           data : parameters,
           cache : false,
           async : false
    }).responseText;

return response;

我尝试使用第一个数据参数,但只返回参数。是否有类似的东西我可以成功使用?

success : function(response) {
     callBack(response); 
}

1 个答案:

答案 0 :(得分:0)

因为请求是异步的,所以不能只返回响应。

jQuery使用名为" promises"的东西,你可以返回:

var userRequest = getUser(123);

因此,每当您想要获得用户时,您只需调用该函数:

userRequest

.done()变量现在包含"未来承诺"。换句话说,在将来的某个时候,它将为您准备好使用它。

您无法立即使用它,但您可以创建一个在最终准备就绪时运行的功能。这是使用userRequest.done(function (user) { console.log("The user " + user.name + " has been loaded!"); }); 方法完成的:

$.when()

例如,如果您还希望在用户旁边加载用户个人资料,则可以创建两个请求,然后使用var userRequest = getUser(123). profileRequest = getProfileForUser(123); $.when(userRequest, profileRequest).done(function (user, profile) { console.log(user.name + " is " + profile.age + " years old"); }); 方法:

self.pipeline.send_event(Gst.Event.new_eos())

详细了解promises over at jQuery