I think I've found a bug in jquery in IE7 and safari, seems fine in FF3. Try running this code in IE7. The alerted index comes out randomly incremented.
$(function() { var dataItem = $('li'); $(dataItem).each(function(i,item){ $.ajax({ url: '/ajax', type: "POST", data: "getTPL=true&tplPath=product/ personalise_new~personalise_frames_item", success: function (msg){ alert(i);}, timeout: 3000 }); }); });