2010-11-25 122 views
1

我有一个ajax请求(多个)来到我的servlet。 每个请求都在文本框的onBlur上创建。 我总共有3个这样的文本框。 我有一个要求,当firt结果的响应来了,那么只有下一个请求被触发。 请让我知道,如果任何人有这样的工作。 我在客户端使用Dojo/Digit,在服务器端使用简单的java Servlet。 谢谢。同步Ajax请求

回答

4

你可以用简单的编码来做到这一点。如果您需要在第一个请求的响应之后才发送第二个请求,则必须在第一个请求的成功条件中为第二个请求进行编码。看看下面的代码:

dojo.xhrPost({ 
form:"someForm", 
load: function(data, args){ 
    // Success 
// call the second request 
}, 
error: function(err, args){ 
    // Error 
} 
}); 

我希望这有助于

+0

或者,您可以调用xhrPost的返回值“then”,这是一个推迟的函数,用于链回调。请参阅http://dojotoolkit.org/reference-guide/dojo/Deferred.html – peller 2010-11-25 17:14:36

0

你可以把属性的节点上发送Ajax请求之前。在回调函数中,您可以更改节点上的属性。在发送任何ajax请求之前,您可以检查该属性,如果已经处理了一个ajax请求,则可以避免发送新的请求。

最好给用户指示已经处理了一个请求。

还有一个属性叫'同步'http://api.dojotoolkit.org/jsdoc/dojo.xhrGet。 但是,这是真的不可取。