Cita: Viendo la vista previa, es posible que el bucle continue sin esperar la respuesta JSON?
¡buenas! si, puede ser parte del problema. por defecto las peticiones xhr son asíncronas. lo que significa que javascript no espera a que el servidor responda, sino que continua con el resto. puedes hacer que las peticiones sean síncronos pero quizas produzca efectos indeseados. eso lo tienes que evaluar por ti mismo. si quieres que las peticiones sean asíncronas (como inicialmente lo tienes), entonces deberías decidir si replantear el esquema. por ejemplo, en lugar de hacer varias peticiones (una por campo), agrupar toda la información y realizar una sola petición. por supuesto, probablemente eso requerirá la modificación del código servidor para manejar múltiples datos y generar las respuestas acorde. si no quieres hacer eso, entonces debes adaptar el código para que retenga el valor de la variable iteradora en cada callback que le asignas en ajax (el handler que maneja el evento en ajax). básicamente consiste en crear un closure, aunque creo que también lo puedes hacer con bind. aca un artículo que explica precisamente este problema y como lo soluciona con closure.
http://robertnyman.com/2008/10/09/ex...-and-closures/