how to prevent URL change

That's not possible. If the way the browser gets to it is /shop/cart/increment/[item id] then that's the url you'll get, unless you do a redirect
An alternative would be to use ajax, which won;t change the url and won't result in a refresh repeating the action.