вообще у jQuery.ajax'а есть свой таймаут
ajax = $.ajax({
url: url,
async: false,
beforeSend: function (data) {$("#spinner").modal('show');},
complete: function (data) {$("#spinner").modal('hide');},
timeout : 500
})
по моему так, почитай здесь еще
http://api.jquery.com/jQuery.ajax/, может поможет исправить ошибку
а вот это $('#input').val(result); действительно не понятная штука, смысла в ней нет...