事件发出后但在完成之前发生火灾事件
我有以下情况。 我需要在我的ajax请求发送之后但在它完成之前发起一些事件。 查看文档,我看到了一大堆事件: beforeSend
, complete
, error
, success
, done
, always
。 但是没有任何东西看起来像我想要的事件。
那有可能吗?
只是为了突出我想要实现的目标 :
var foo = 'BAR'; $.post('serverURL', { T: foo, }, function(data){ //... }, 'json'); foo = '';
所以我有一个类似于此的代码。 它的工作方式非常好(它向服务器发送正确的foo
,而不是在它发送后立即修改它)。 它不是在ajax完成/完成/成功/失败时修改它,而是在它触发后立即修改它。
我想把这个修改foo = ''
放在回调中,(比如成功回调)。 只是回答为什么我需要这样做:有些人在阅读代码时,决定通过在其他地方(在ajax之前)移动foo = ''
来“改进”它,从而引入难以发现的错误。 类似评论//不要移动它没有帮助。
存在一个全局jQuery ajax事件处理程序:
$(document).ajaxStart(function(){ ... });
,在第一个Ajax请求启动时调用。
这个怎么样?
formData = { param1: "param1" } $.ajax({ type: 'GET', contentType: 'application/json', url: "https://example.com/detail.php", dataType: "json", data: formData, beforeSend: function() { //before handler }, success: function(data) { //success handler }, complete: function(data) { //complete handler }, error: function(data) { //error handler } });