I myself would handle the cache:
var ajaxCache = {};
...
if (!ajaxCache[this.id]) {
ajaxCache[this.id] = $.ajax({
type: "POST",
url: "get_note.php",
data: {'pid':'<?php echo $project_id;?>','record_id':this.id}
});
}
ajaxCache[this.id].done(function(){
if (data != '0') {
$('#note_container').html(data);
$('#note_container').dialog();
} else {
alert('woops');
}
});
Thus, if a request with the specified identifier has already occurred, the new request will not be executed if you do not remove it from the cache.