1
I’m making an AJAX request, but I can’t pass array...
My controller is like this:
[Route("imoveis/BuscaDados/Json/Listas/ListaQuartos")]
public JsonResult ListaQuartos(int idEstado, int idCidade, int[] idsBairros, int[] idStatus)
{
RealizaBuscaListas.BuscaNumQuartos(idEstado, idCidade, idsBairros.ToList(), IdsStatus);
return Json(RealizaBuscaListas.ListaDeQuartos, JsonRequestBehavior.AllowGet);
}
And my javascript function like this:
function preencheQuartos(Destino) {
var idEstado = 0;
var idCidade = 0;
var idsBairros = [];
idsBairros[0] = 1
idsBairros[1] = 2
var idStatus = [0];
Url = baseUrl + "imoveis/BuscaDados/Json/Listas/ListaQuartos/";
$.ajax({
method: "GET",
url: Url,
data: { idEstado: idEstado, idCidade: idCidade, idsBairros: idsBairros, idStatus: idStatus },
success: function (data) {
$.each(data, function (i, quarto) {
Faz coisas...
});
},
error: function (data) {
alert("Falha! Não foi possível retornar os números de quartos, tente novamente.");
}
});
}
But when inspecting the action, I realize that the parameters int[] idsBairros and int[] idStatus always arrive null. Will I have to assemble the entire url with a looping for each arrays item?
Have you tried changing the type of the parameter only for testing? Try switching to Object and see if it sends right. Or try to drop a stringfy into the array before sending...
– Márcio Cristian