如何手动触发ajax Complete事件

时间:2012-12-17 13:49:37

标签: javascript jquery

使用Jquery我需要触发一个ajaxComplete事件。

目前我正在使用此代码但没有成功

$.getJSON(assetUrl, function (data) {
...
    $.trigger("ajaxComplete");

错误:

TypeError: 'undefined' is not a function (evaluating '$.trigger("ajaxComplete")')

知道我做错了什么吗?感谢

2 个答案:

答案 0 :(得分:3)

在DOM上触发ajaxCompleted event,您需要在jQuery包装器元素上调用trigger method:例如$(document).trigger(...)

jQuery对象上没有静态函数“trigger”(这是错误消息告诉你的),你可能会使用$.event.trigger - 尽管我担心这是内部的。

但是,您不需要手动执行此操作; getJSON 会触发事件本身。要中止正在运行的ajax请求,请参阅XHR objectsabort方法。

答案 1 :(得分:2)

您可以定义一个全局jQuery ajaxComplete(和ajaxError)函数,该函数将在准备好文档以及每次完成的ajax请求之后运行。您可以像这样在初始页面加载中定义ajaxComplete函数:

D3D hresult failed :D3D_ERROR ffffffff8007000e

要随时调用此事件处理程序,只需执行以下命令:

E_OUTOFMEMORY   Failed to allocate necessary memory     0x8007000E