Risolto.....il problema non era nel controller ma in jquery...solo che onestamente non capisco il perchè.
Praticamente ho modificato la chiamata ajax da:
codice:
var param = {
"prov": idProvincia
};
$.ajax({
type: "POST",
url: this."sito.it/index.php/controller/filter_comuni",
dataType: "json",
data: JSON.stringify(param),
contentType: 'application/json',
success: function(response){
for(var i = 0; i < response.length; i++){
var $option = $("<option></option>");
$option.attr("value", response[i].id);
$option.html(response[i].value);
$('#comune').append($option);
}
},
error: function(jqXHR, text, error){
alert("Error! "+text);
}
});
a
codice:
$.post("sito/index.php/controller/filter_comuni", { "provincia": idProvincia },
function(response){
for(var i = 0; i < response.length; i++){
var $option = $("<option></option>");
$option.attr("value", response[i].id);
$option.html(response[i].value);
$('#comune').append($option);
}
}, "json");
e adesso funziona correttamente....ma perchè funziona con $.post e non con $.ajax (in cui ho specificato type:"POST")