If you're using an RJS template to return JavaScript to the browser couldn't you just return an empty response so that your page doesn't update.
What happens if you do something like this in your RJS template:
page.replace_html("cart", :partial => "cart", :object => @cart) if @cart.has_changes?
Of course you would need to provide the has_changes? method on your object.
I can't guarantee this will work because I've not tested this. But, give it a shot and see what happens.