I'll bet that you don't really mean "refresh". When we
hear that word "refresh", what it usually means is F5, click
on the circle with the arrow in the browser navigation bar, etc. This
reloads the document.
You probably mean re-submitting the form by pressing the submit
button, which with your code then uses Ajax to get some data from your
server and prepend it to some element.
The problem here is pretty obvious. prependTo()does exactly
what it says. It prepends some HTML in front of some existing element.
If you do it twice, now you will have prepended twice, and you will
have a duplicate. If you prepend yet again, you will have three, etc.
If you are standing in line, and you are first, and then you allow
somebody to take cuts, now there is one person in front of you. If the
line does not move, and now you let another person takes cuts, now
there are two in front of you. Etc. prependTo() is letting
some HTML take cuts. It's probably not what you wanted.
Easy way out here is to put in an empty "placeholder"
element. Then replace the content of that placeholder with .html(). The first time,
it was empty, and now it has something in it. The second time, what
was there is replaced. And the third, etc.
Since you didn't show us any HTML, we cannot give you a
specific solution.