Оказва се че с jQuery 1.3.2 това работи и след abort(), success не се извиква , но с 1.4.x - не.
А, виж ти! Това не е нормално просто да махнат възможността за прекратяване на заявки, направени с .ajax(). Предполагам, че е заменено с нещо по-специфично за функцията .ajax(), вместо да се ползва общият .abort(), обаче засега не откривам с какво.
Както и да е, оказва се, че .abort() действа с функциите .get() и .post() и в 1.4.2, така че можеш да ползваш тях:
GeSHi (Javascript):
$('#cell_id').mouseover(function(){
myObject = $.get('some.cgi', {'get_key': 'get_value'}, function(content){
$('#result_id').html(content);
});
});
$('#cell_id').mouseout(function(){
myObject.abort();
$('#result_id').html('');
});
По същия начин и за .post(), само се заменя името на функцията. Специфичното при .post() е, че заявките с тази функция не се кешират, така че трябва да се има в предвид дали е предимство или недостатък в конкретния случай.
betso, при писане на чист javascript се налага да се съобразяваш с различни правила според браузърите, а и изисква изписването на повече код. Целта на jQuery е да предложи кратък синтаксис за иначе дълъг код, и едновременно с това добра съвместимост с различните браузъри. Едновременно с това (характерно за всеки framework) програмистите се слагат в стилова рамка, която трябва да спазват, с което се постига унифициране на кода, а от там и по-лесното му четене от други хора. Естествено, с чистия javascript може да се напишат повече неща, отколкото с jQuery - все пак jQuery е писан на javascript, но (въпреки че се цели) не съдържа в себе си цялата функционалност на javascript. Но кодът, изписан на чист javascipt, често е разхвърлян, поради пълната свобода на програмиста да си пише в каквито си иска стилове, чете се по-трудно, и изисква изписване на много неща, които в jQuery са автоматизирани. Когато се пише нещо малко, не е особен проблем да се ползва чист javascript (даже е за предпочитане в доста случаи), но при големи проекти ползването на framework вече не е препоръчително, а задължително, иначе представи си каква лудница от стилове на изписване на кода ще се наблюдава в тези проекти, при положение, че (най-често) не го изписва само един човек, а (най-често) ще се наложи този код да се чете и от други хора след това
P.S.: Забравих да вметна, че в горния пример използвах задаване на точно определено id на елемента, който се посочва, но (както и в случая ще се наложи, за да не се изписва всичко за всеки елемент от таблицата) може да се зададе директно типа на елемента, а id-то на елемента може да се праща като променлива към зареденото url:
GeSHi (Javascript):
$('td').mouseover(function(){
currentid = $(this).attr('id');
myObject = $.post('some.cgi', {'post_key': currentid}, function(content){
$('#result_id').html(content);
});
});
$('td').mouseout(function(){
myObject.abort();
$('#result_id').html('');
});