Как убрать диалоговое окно о долгом выполнении Javascript?
Попробуйте разбить принимаемые данные на небольшие кусочки, дергать их по очереди в цикле, имитируя цикл директивой setTimeout(getOnePartofData(),0), в итоге будут короткие моменты отвисания браузера, и он может перестать ругаться :)

Пример можно тут посмотреть: 
www.jstoolbox.com/2008/01/29/zapusk-skriptov-trebuyushhix-znachitelnogo-vremeni-vypolneniya/
А в чем проблема с асинхронным ajax?