在beforeSend上停止$ .ajax
我有这个jQuery ajax调用:
$.ajax({ url : 'my_action', dataType: 'script', beforeSend : function(){ if(1 == 1) //just an example { return false } }, complete: function(){ console.log('DONE'); } });  如果条件返回true我想停止beforeSend下的ajax调用,但是返回false不会停止ajax调用。 
 如何stop beforeSend上的ajax调用? 
=======更新=========
  return false作品。 
 $.ajax({ url : 'my_action', dataType: 'script', beforeSend : function(xhr, opts){ if(1 == 1) //just an example { xhr.abort(); } }, complete: function(){ console.log('DONE'); } }); 
大多数jQuery Ajax方法返回一个XMLHttpRequest(或等效的)对象,所以你可以使用abort()。
 var test = $.ajax({ url : 'my_action', dataType: 'script', beforeSend : function(){ if(1 == 1) //just an example { test.abort(); return false } }, complete: function(){ console.log('DONE'); } }); 
 beforeSend:function(jqXHR,setting) { // if(setting.url != "your url") jqXHR.abort(); if(1 == 1) //just an example { jqXHR.abort(); } } 
  xhr.done() ; 这对我有用 
 $.ajax({ url : 'my_action', dataType: 'script', beforeSend : function(xhr){ if(1 == 1) //just an example { return false }; xhr.done(); //this works for me }, complete: function(){ console.log('DONE'); } }); 
http://api.jquery.com/jquery.ajax/
 jqXHR.done(function( data, textStatus, jqXHR ) {}); 
 成功callback选项的替代构造,请参阅deferred.done()以获取实现细节。