Почему елемент не создаётся элемент после input?
.append() добавляет не после, а в конец элемента
инпут не может содержать дочерних узлов, вот и не работает.
вам нужен .after()
Попробуйте так: $('#login').append("<p class ='error'>"+data+"</p>");