请求发送后jQuery ajax中止

时间:2012-10-08 21:48:05

标签: javascript ajax jquery

可能最好修改这个问题:

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

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

基本上:

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

sendRequest.abort();

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

2 个答案:

答案 0 :(得分: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();之后立即调用该函数

答案 1 :(得分:-1)

在代码阻止后调用YOUR_COOL_FUNCTION

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

相关问题