2

可能最好修改这个问题:

我的代码中有一个 ajax 调用,我想在发送后立即取消调用。基本上,我不想等待响应,我只想从客户端发送整个请求。谁能提供一些关于如何实现这一目标的想法?

我在 Chrome 中尝试了以下操作,但似乎从未实际发送过请求(我正在服务器端记录收到的请求)。

基本上:

var sendRequest = jQuery.ajax({
    url: '/awesomeness.txt',
    dataType : 'json',
    timeout: 2000,
    cache: false,
    success: function(result) {}
});

sendRequest.abort();

我也尝试将超时设置为 1,但奇怪的是,如果我从新浏览器加载页面,则不会发送请求(如果我刷新发送的页面)。

4

2 回答 2

3

就这么简单:

jQuery.ajax({
    url: '/awesomeness.txt',
    dataType : 'json',
    timeout: 2000,
    cache: false,
    afterSend: function() {/*run awesome code*/}
    success: function(result) {}
});

// call whatever you want after send
afterSend();

所以没有内置的 jquery.ajax 事件,但您可以在之后立即调用该函数$.ajax();

于 2012-10-08T21:49:49.470 回答
-1

只需YOUR_COOL_FUNCTION在您的代码块之后调用。

这将起作用,因为 ajax 请求使用回调,因此它不会为了执行请求而阻止当前执行,但它会发出请求,然后继续执行您的代码,因此就像放置任何所需的代码块一样简单在这个 AJAX 调用之后。

于 2012-10-08T21:50:43.887 回答