jarrro: при всём этом я затрудняюсь ответить, в чем дело. Может ссылка кривая? Может с пробелами в начале? А может ссылка - не строка, а объект? Проверяйте...
jarrro: покажитп определение функции file_get_html - что она делает?
2. Вы хотя бы понимаете, что происходит в вашем случае? И что происходит если заменить одинарные кавычки на двойные? Ужас... Чего только не насоветуют
Илья: ставьте timeout в своём запросе в приложении и если по таймауту ничего не вернулось (отдельная ветвь обработки этого случая), значит запрос не дошел. В противном случае будет какой-то http response code от сервера
Most998: у вас конечно много интересных вещей... Вместо взятия val() от каждого поля и потом составления ассоц. массива, можно просто написать $("#form").serialize()
Далее, события лучше прикреплять через .on('submit', function(event){...})
Ну и напоследок, проверять ответ от скрипта на равенство 0 как числа плохо, так как скрипт возвращает строку. Приводите тогда сначала тип через тот же parseInt, если у вас там всегда число.
Дмитрий: перегрузка - это как в ооп, замена методов. Грубо говоря. По умолчанию сабмит - это отправка формы на адрес action методом method п нажатию кнопки submit. А вы это перехватываете и заменяете. Так вот чтобы после вашего перехвата не происходил стандартный сабмит, надо возвращать false, то есть прервать очередь. И тогда никакие preventDefault не нужны там
Можно было бы пойти и другим путем - проходить также по основному массиву, загоняя все пройденные элементы в подмассив второго большого массива. А как только разница с предыдущим элементом больше единицы, начинать загонять в следующий подмассив. Получится массив массивов. Далее просто вывести их через запятую, соединяя первый и последний элемент дефисом. Будет даже короче.