JQuery: 'Uncaught TypeError: Invocação ilegal' em solicitação ajax - vários elementos

Eu tenho dois elementos de seleção, A e B: quando a opção selecionada de A é alterada, as opções de B devem ser atualizadas de acordo. Cada elemento em A implica muitos elementos em B, é um relacionamento um-para-muitos (A contém nações, B deve conter cidades localizadas na nação em questão).

A funçãodo_ajax deve executar a solicitação assíncrona:

function do_ajax(elem, mydata, filename)
{
    $.ajax({
        url: filename,
        context: elem,
        data: mydata,
        datatype: "html",
        success: function (data, textStatus, xhr) {
            elem.innerHTML = data;
        }
    });
}

Para atualizar as opções de B, adicionei uma chamada de função em AonChange evento. Aqui está a função que é executada quando o evento onChange (deA) é acionado:

function my_onchange(e) // "e" is element "A"
{
    var sel_B = ... ; // get select element "B"

    // I skipped some code here
    // ...

    var data = {
        'mode': 'filter_city',
        'id_A': e[e.selectedIndex]
    };
    do_ajax(city_sel, data, 'ajax_handler.php');
}

}

Eu li emJQuery docs naqueladata pode ser uma matriz (pares de valores chave). Eu recebo o erro se eu colocar:

var data = {
        'mode': 'filter_city',
        'id_A': e[e.selectedIndex]
};

Em vez disso, não recebo esse erro se meus dados forem uma string:

var data = 'mode=filter_city&id_A=' + e[e.selectedIndex];

Mas eu preciso da "versão da matriz" da variável, no meu código php do lado do servidor.

oUncaught TypeError: Illegal invocation está localizado no arquivo "jquery-1.7.2.min.js", que é todo compactado, então não consegui descobrir qual parte do código gerou o erro.

Existe alguma configuração que eu possa alterar no meu código para que ele aceite dados como uma matriz associativa?

questionAnswers(8)

yourAnswerToTheQuestion