Problema al devolver una lista de objetos JSON con AJAX, no consigo acceder a las propiedades del objeto

publicado por: Anonymous

Buenas,
Tengo este servicio web:

    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string ObtenirProvinciaByPoblacio(int CodiProvincia)
    {
        clsCRUD _ou2 = new clsCRUD();
        try
        {
            _ou2.Connectar();
            List<clsProvincies> LlistaProvincies = clsDALProvincies.getList(_ou2, CodiProvincia);
            _ou2.Desconnectar();
            JavaScriptSerializer jss = new JavaScriptSerializer();
            string resultat_Json = jss.Serialize(LlistaProvincies);
            return resultat_Json;
        }
        catch (Exception ex)
        {
            throw;
        }

El cual me devuelve una lista de objetos (En este caso solo hay un objecto en la lista, pero no viene al caso). Y en la función de ajax tengo esto:

 $.ajax({
                url: "/WebServiceCV.asmx/ObtenirProvinciaByPoblacio",
                data: "{'CodiProvincia': '" + Codiprovincia + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function (data) {                                          

                    $.each(data, function (index, item) {
                        alert(item);
                    });                  
                },
                error: function (request, status, error) {
                    alert(request.responseText);
                },
                failure: function (response) {
                    alert("arriva al failure");
                }
            });

En el alert me muestra bien el objeto: [{"Codi":25,"Nom":"LLEIDA"}]
Pero no consigo de ninguna forma coger los valores Codi y Nom para trabajar con ellos. En teoria sería item.Codi o item.Nom ¿verdad?
He intentado varias opciones pero no consigo nada.

solución

Ya me funciona, gracias.
El código queda así:

$.ajax({
                url: "/WebServiceCV.asmx/ObtenirProvinciaByPoblacio",
                data: "{'CodiProvincia': '" + Codiprovincia + "' }",
                dataType: "json",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                success: function (data) {                                          
                    var valors = JSON.parse(data.d);
                    $.each(valors, function (index, item) {
                        console.log(item.Codi);
                        console.log(item.Nom);
                    });
                },
                error: function (request, status, error) {
                    alert(request.responseText);
                },
                failure: function (response) {
                    alert("arriva al failure");
                }
            });
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *