Iterando através de uma matriz ao executar uma solicitação para cada entrada

Aqui está o meu problema. Eu tenho uma matriz contendo o nome das cidades para as quais preciso pesquisar o clima. Então, eu estou percorrendo cada cidade e realizando uma solicitação AJAX para recuperar o clima.

var LOCATION = 'http://www.google.com/ig/api?weather=';

$( document ).ready( function() {
    for( var cityIdx = 0; cityIdx < cities.length; cityIdx++ ) {
        $.ajax({
            type: 'GET',
            url: LOCATION + cities[ cityIdx ],
            dataType: 'xml',
            success: function( xml ) {
                if( $( xml ).find( 'problem_cause' ) != 0 ) {
                    // Do what I want with the data returned
                    var weather = $( xml ).find( 'temp_c' ).attr( 'data' );
                }
            }
        });
    }
});

O problema que encontro é que, na função de sucesso, não consigo acessar o nome da cidade (por cidades [cityIdx]). Inseri um alert () no loop for e na função success e parece que o loop é executadocities.length vezes, recebo os alertas da função de sucesso. Meu objetivo é simplesmente percorrer cada cidade, obtendo o clima e mostrando na minha página, juntamente com o nome da cidade associada.

Além disso, o que você sugere que eu devo fazer para separar o conteúdo da apresentação?

Obrigado. :)

questionAnswers(5)

yourAnswerToTheQuestion