Independente do framework ou biblioteca para utilização de AJAX nos seus sistemas, é importante destacar a interação do resultado das chamadas assíncronas com os elementos da tela.

O exemplo abaixo foi aplicado na alteração dos valores de um combo na tela


//O primeiro parametro eh um codigo se ja existe item selecionado ou nao
//200|1|item1|2|item2|3|item3
function callbackPreencherCombo(responseAJAX){
var response = responseAJAX.split('|');
var combo = document.getElementById('produtoItemData');
combo.disabled = false;
combo.options.length = 0;
if(response[0] == '200'){
var contador = 0;
for(i = 1 ; i < response.length ; i += 2 ){
combo.options[contador++] = new Option(response[i+1],response[i]);
}
}else if(response[0] == '201'){
var contador = 0;
for(i = 2 ; i < response.length ; i += 2 ){
combo.options[contador++] = new Option(response[i+1],response[i]);
}
for(i = 0; i < combo.options.length; i++ ){
if(combo.options[i].value == response[1]){
combo.options[i].selected = true;
}else{
combo.options[i].selected = false;
}
}
}
}