Foros del Web » Programando para Internet » Jquery »

Problemas con Jquery + Ajax

Estas en el tema de Problemas con Jquery + Ajax en el foro de Jquery en Foros del Web. Hola, espero me puedan ayudar. Estoy recien empezando a trabajar con jquery + json + Ajax. EL punto es que he bajado decenas de ejemplo, ...
  #1 (permalink)  
Antiguo 16/05/2010, 17:26
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 14 años, 7 meses
Puntos: 0
Problemas con Jquery + Ajax

Hola, espero me puedan ayudar.
Estoy recien empezando a trabajar con jquery + json + Ajax.
EL punto es que he bajado decenas de ejemplo, pero aun no logro llegar al punto de mostrar información del servidor en en javascript. No me da error ni nada, solo que no entra al ciclo for. Si imprime lo que trae devuelta con un alert, dice [object Object]. Si imprimo el largo, me dise "Undefined"... etc...
Esto es lo que tengo, (lo baje de otra pagina)

ASPX
Código:
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" EnableEventValidation="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>h@nz ...el Geek - JQuery y AJAX</title>
    <script type="text/javascript" 
            language="javascript" 
            src="Scripts/jquery1-2-6-min.js">
    </script>
    <script type="text/javascript" language="javascript">
        function listarCursos(idCarrera){
            $.ajax({
                type:"POST",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url:"Default.aspx/DevolverListas",
                data:"{ Codigo: '" + idCarrera + "' }",
                success: mostrarCursos,
                error: function(msg){ 
                    alert("Se ha producido un error en la llamada AJAX.");
                }
            });
        }
        
        function mostrarCursos(html){
            alert(html.length);
            $('#<%=ddlCursos.ClientID %>').html(html);
        }
        
        function SeleccionarCurso(){
            var strCurso = $('#<%=ddlCursos.ClientID %> :selected').text();
            
            $('#<%=lblCurso.ClientID %>').text(strCurso);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:scriptmanager ID="Scriptmanager1" runat="server" />
        <div>
            Carreras:
            <asp:DropDownList ID="ddlCarreras" runat="server" 
                AppendDataBoundItems="True" onChange="listarCursos(this.value);" />
            <br /><br />
            Cursos:
            <asp:DropDownList ID="ddlCursos" runat="server" onChange="SeleccionarCurso();" />
            <br /><br />
            Esta seleccionando el curso:
            <asp:Label ID="lblCurso" runat="server" ForeColor="DarkBlue" />
        </div>
    </form>
</body>
</html>

CODEBEHIND
Código:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Text;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ddlCarreras.Items.Clear();
            ddlCarreras.Items.Add(new ListItem("--- Seleccione ---", "0"));
            ddlCarreras.Items.Add(new ListItem("Computación e Informática", "1"));
            ddlCarreras.Items.Add(new ListItem("Administración de Empresas", "2"));
        }
    }

    [System.Web.Services.WebMethod()]
    public static string DevolverListas(string Codigo)
    {
        string strId = Codigo;

        StringBuilder sb = new StringBuilder();

        #region Código para devolver los Cursos según la Carrera
            sb.Append("<option value='0'>--- Seleccione ---");

            if (strId == "1")
            {
                sb.Append("<option value='1-1'>Sistemas Operativos</option>");
                sb.Append("<option value='1-2'>Programación Orientada a Objetos</option>");
            }
            else
            {
                sb.Append("<option value='2-1'>Administración de Recursos Humanos</option>");
                sb.Append("<option value='2-2'>Logística Avanzada</option>");
            }
        #endregion

        return sb.ToString();
    }
}


... Mis conocimientos en paginas y c# seria nivel medio - avanzado. Segun el seguimieno que hice, la llama al webmethod estaria correcta, llega ahi y devueve el string. Pero cuando se ejecuta el "success" en el javascript, es que no llega nada. Como decia, he probado varias formas, serializando a json con una funcion especial, solo devolver texto plano, devolver html, etc.. pero no me resulta, aunque no genera error, pero no se mete al ciclo for.. nunca he podido hacer el ciclo completo con jquery y ajax.... ojala se haya entendido y me puedan ayudar diciendo que me falta o que me falta configurar si fuese es.. Gracias de antemano...
  #2 (permalink)  
Antiguo 01/06/2010, 12:43
 
Fecha de Ingreso: mayo-2009
Mensajes: 4
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Problemas con Jquery + Ajax

Buenas tardes jimmorrison . . . Primero que nada quiciera saber si ya resolviste tu problema. Tu duda me parece interesante, dejame intentar resolverla y te contesto. Una disculpa, anteriormente te habia contestado algo que no tenia nada que ver por que me confundi. Espero en unos dias tener tu respuesta si es que aun no lo has resuelto. Saludos.

Última edición por urivape; 02/06/2010 a las 16:24

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:36.