Acabo de probar otra cosa, he hecho un beforeSend seteandole las cabeceras de JSON y esto es lo que tengo:
Código PHP:
<script type="text/javascript">
$(function(){
$('#item_select_1').change(function(){
var ajax = $.ajax({
type: "GET",
url: "/ad/getmodelos/id/" + $(this).val(),
async: true,
dataType: "json",
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
success: function(data){
var options = '';
for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].optionValue + '">' + data[i].optionDisplay + '</option>';
}
console.log(data);
}
});
});
})();
</script>
Lo que me muestra la consola:
Código PHP:
Object
3: "Modelo 3"
__proto__: Object
Pero si hago un console.log(data.length) me muestra:
undefined, como si no encontrase nada ??? si intento mirar el contenido de options sigue estando en blanco ya que no hace el for..loop