可能最好修改这个问题:
我的代码中有一个ajax调用,我希望在发送后立即取消调用。基本上,我不想等待响应,我只想要从客户端发送整个请求。谁能提供一些关于如何实现这一目标的想法?
我在Chrome中尝试过以下操作,但似乎请求实际上从未发送过(我正在服务器端记录收到的请求)。
基本上:
var sendRequest = jQuery.ajax({
url: '/awesomeness.txt',
dataType : 'json',
timeout: 2000,
cache: false,
success: function(result) {}
});
sendRequest.abort();
我也尝试将超时设置为1,但奇怪的是,如果我从新浏览器加载页面,则不会发送请求(如果我刷新页面,则会发送)。
答案 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调用之后的代码块。