Nueva pregunta

Pregunta:

Fecha: 20-11-2015 14:09:40 (En Español)

¿Ayuda con petición AJAX y JQUERY?[Resuelta]

Hola amigos estoy teniendo problemas en la petición $.ajax() y no he podido solucionarla espero me puedan ayudar.
PD: soy muy novato en Ajax
Explicó un poco como consiste en el perfil de usuario cargo una página que me muestra el muro del usuario así.
$(document).ready(function(){
	$('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
	$('#muro_pagina_perfil').click(function(){
		$('#result_pagina_perfil').fadeOut(1000);
			$('#result_pagina_perfil').load('../../includes/muro.php');
			$('#result_pagina_perfil').fadeIn(1000);
			return false;
		});
	}
});

Y esta me muestra una página con este formulario.
<script type="text/javascript" src="<?=$url?>/js/jquery.js"></script>
<script type="text/javascript" src="<?=$url?>/js/muro.js"></script>
<form id="form_perfil_muro" class="form_perfil_muro"  method="post">
	<h2 class="principal">Escribe en el muro:</h2>
	<textarea name="publi_muro_perfil" id="publi_muro_perfil" cols="30" rows="10" placeholder="Escribe en el muro"></textarea>
	<input type="hidden" id="id_muro" name="id_muro" value="<?=$_GET['id_muro']?>">
	<input type="hidden" id="id_user" name="id_user" value="<?=$_SESSION["usuario_id"]?>"><br>
	<input type="button" class="submit_link_chico" id="boton_perfil_muro" value="Insertar" name="enviar" style=""/>
	<div id="res"></div>
</form>

De estas página llamó la petición AJAX y es donde empieza el problema.
$(document).ready(function(){
    $("#boton_perfil_muro").click(function(){
        var formulario = $("#publi_muro_perfil").serializeArray();
        $.ajax({
            type: "POST",
            dataType: 'json',
            url: "http://elcapa8.com/includes/muro_publi.php",
            data: formulario,
        }).done(function(respuesta){
            $("#res").html(respuesta.mensaje);
        });
    });
});

Y he aquí el PHP que está bn elaborado.
<?
	include "config.php";

	$id_muro = $_POST['id_muro'];
	$publi = $_POST['publi_muro_perfil'];
	$id_user = $_POST['id_user'];

	if(isset($publi)){
		$res = mysqli_query("INSERT INTO muro_perfil (id_user, id_muro, publi) VALUES('$id_muro', '$id_user', '$publi')");
		if(mysql_affected_rows()>0){
			$respuesta =  "1";
		}
		else{
			$respuesta =  "2";
		}
	}else{
		$respuesta = "Error campo vacio";
	}
	echo json_encode($respuesta);
?>

Espero me puedan ayudar Salu2 su amigo ElCapa8
Etiquetas: $_GET - $_POST - AJAX - Algoritmo - HTML - Javascript - Javascript JSON - JQuery - MySQL - PHP - PHP JSON - Plugin - Pregunta - Validaciones - Variables Votos: 2 - Respuestas: 34 - Vistas: 17 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 20-11-2015 17:08:54 Confirmame algo tu problema es q cuando cargas el.formulario y haces clic en boton_perfil_muro no está entrando el evento click? Prueba haciendo un alert comentas saludos   Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 17:35:34 Ahora si tu alert entra veo q estas haciendo algo equivocado. Te explico tu estas colocando esta línea.
     var formulario = $("#publi_muro_perfil").serializeArray();
    por lo q veo en tu código php tu estas haciendo esto
                                                                                                                                $id_muro = $_POST['id_muro'];
        $publi = $_POST['publi_muro_perfil'];
        $id_user = $_POST['id_user'];
    entonces tu deberías enviar estas variable de js a php pero si te fijas bien tu estas enviado el valor de tu textarea por que tu estas haciendo un serializeArray al público_muro_perfil cuando deberías hacer al formulario para q así te llego los valores de tu textarea y los input
      Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 17:45:45 Tu deberías hacer el.serializeArray al formulario y su id es form_perfil_muro
    var formulario = $("#form_perfil_muro").serialize();
    


    Comparto tu html de tu formulario

    <form id="form_perfil_muro" class="form_perfil_muro"  method="post">
     
      Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 17:48:38 Hola amigo si ahí me equivoque pero lo corregí y aún así no me da ????.
    var formulario = $("#form_perfil_muro").serializeArray();
    
      Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 18:11:33 Hiciste el alert y te llego a salir el alert?   Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 18:13:03 Ante de q captures el formulario haz un alert para ver si esta ingresando a tu evento click   Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 18:19:20 No es el serializeArray() ya q tu es tu php estas capturando de esta manera con $_POST usa serialize();   Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 18:20:35
    var formulario = $("#form_perfil_muro").serialize();
    
      Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 18:30:21 Hola ya puse el .serialize y no dio y puse el Alert(); después y no aparece que hago   Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 18:38:32
    
    
    $(document).ready(function(){
    
    alert("uno");
        $("#boton_perfil_muro").click(function(){
    
    alert("dos");
            var formulario = $("#publi_muro_perfil").serializeArray();
            $.ajax({
                type: "POST",
                dataType: 'json',
                url: "http://elcapa8.com/includes/muro_publi.php",
                data: formulario,
            }).done(function(respuesta){
                $("#res").html(respuesta.mensaje);
            });
     });
    });
      Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 18:39:21 Pruébalo ese.código men y dime si llega los alert uno al llamar a tu form y el.otro cuando haces click.en tu boton prueba y me avisas   Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 18:45:35 :o a ninguno no se porque y están bien el llamado de las funciones como esto es posible.   Votos: 1 - Link respuesta
     
  • Fecha: 20-11-2015 19:05:04 Lo q me pensaba pero.ante respondeme algo el.código q compartiste esta todo en un solo archivo o manejas 2 archivos si es así si.pudieras colocar el.nombre del.archivo ahora si esta en 2 archivos



    
    <script type="text/javascript" src="<?=$url?>/js/jquery.js"></script>
    <script type="text/javascript" src="<?=$url?>/js/muro.js"></script>
    <form id="form_perfil_muro" class="form_perfil_muro"  method="post">
        <h2 class="principal">Escribe en el muro:</h2>
        <textarea name="publi_muro_perfil" id="publi_muro_perfil" cols="30" rows="10" placeholder="Escribe en el muro"></textarea>
        <input type="hidden" id="id_muro" name="id_muro" value="<?=$_GET['id_muro']?>">
        <input type="hidden" id="id_user" name="id_user" value="<?=$_SESSION["usuario_id"]?>"><br>
        <input type="button" class="submit_link_chico" id="boton_perfil_muro" value="Insertar" name="enviar" style=""/>
        <div id="res"></div>
    </form>
    


    El.js muro.js


    Retiralo de ahí y pone en tu archivo principal el q se encarga de cargar el.muro pruébalo y comentas aun deja el.alert men para ver si.con ese cambio ahora si sale los alert,
      Votos: 0 - Link respuesta
     
  • Fecha: 20-11-2015 19:20:22 Hola no se porque pero no coge lo del archivo muro.js en cualquier parte que lo ponga pero se que funciona el Jquery porque toda la página lo usa.
    Si siguo sin solucionarlo de aquí al lunes será a solo PHP XD.
      Votos: 1 - Link respuesta
     
  • Fecha: 21-11-2015 01:19:42 Por lo q veo la estas haciendo mal la ruta de archivo muro.js verifica bien la ruta men   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 01:25:24 Hola capa no te rindas, puedes compartir tu enlace de la.página donde cargas el muro comparte el Link   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 01:41:30 Hola capa acabo de ver tu archivo muro.js y ve lo siguiente

    
    alert("cero");
    $(document).ready(function(){
    alert("uno");
        $("#boton_perfil_muro").click(function(){
    alert("dos");
            var formulario = $("#publi_muro_perfil").serializeArray();
            $.ajax({
                type: "POST",
                dataType: 'json',
                url: "http://elcapa8.com/includes/muro_publi.php",
                data: formulario,
            }).done(function(respuesta){
                $("#res").html(respuesta.mensaje);
            });
     });
    });
    /*$(document).ready(function(){
        $("#boton_perfil_muro").click(function(){
            var formulario = $("#form_perfil_muro").serialize();
            Alert("hola");
            $.ajax({
                type: "POST",
                dataType: 'json',
                url: "http://www.elcapa8.com/includes/muro_publi.php",
                data: formulario,
            }).done(function(respuesta){
                $("#res").html(respuesta.mensaje);
            });
        });
    });
    
    /*
    
    $(document).ready(function(){m
    	function ingresoDatos(){
    		$('#boton_perfil_muro').click(function(){
    			if($('#publi_muro_perfil').val()==""){
    				alert("Introduce una publicación");
    				return false;
    			}
    		}
    		$.ajax({
    			type: "POST",
    			url: "../include/muro_publi.php",
    			data: "publi="+getElementById("publi_muro_perfil").value+"id_muro="getElementById("id_muro").value+"id_user="+getElementById("id_user").value,
    			dataType: "json",
    			success: function(respuesta){
    				if(respuesta.info!="0")document.getElementById("info").innerHTML='Publicado correctamente';
    				else document.getElementById("info").innerHTML='No fue posible publicarlo';
    			}
    		});
    	}
    });
    
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 01:45:34 Veo q aun sigue el serializeArray pero al id de tu textarea, recuerda q debe ser serialize al.form, no olvides de poner en Link de tu archivo donde cargas el muro   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 06:29:46 Hola ps la ruta de carga esta buena ya lo comprobé y tiene el serializeArray porque así me pasaste el código con los alert.
    pagina
      Votos: 1 - Link respuesta
     
  • Fecha: 21-11-2015 06:52:48 si es que copie tu codigo ayer estuve con el celiular estaba q coipie y pegue ahora estoy en pc cambia por el serialize();

    dime llego a entrar los alert
    en todo caso comparte el link de tu atrchivo donde cargas tu muro quiero ver el codigo fuente y ver el porque no te sale los alert
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 06:54:22 Ahí está la página donde hago la prueba en la anterior respuesta.   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 06:55:41 tiene que quedar asi


    
        $(document).ready(function(){
        alert("uno");
            $("#boton_perfil_muro").click(function(){
           alert("dos");
                var formulario = $("#form_perfil_muro").serialize();
                $.ajax({
                    type: "POST",
                    dataType: 'json',
                    url: "http://elcapa8.com/includes/muro_publi.php",
                    data: formulario,
                    success:function(respuesta){
                          $("#res").html(respuesta.mensaje);
                  }
            });
        });
      });
    
    
    
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 06:59:15 Hola capa en si quiero tu link de tu pagina veo q tu estas trabajando online

    si no me equivoco

    es

    http://elcapa8.com

    por conclusion llegue que tus archivos se llamen asi

    di con esto

    q era

    http://elcapa8.com/user.php pense que era eso pero vi codigo fuente inspecciones con el firebug y me di cuenta q no es eso lo quiero es tu link donde cargas el muro osea en donde haces esto


        $(document).ready(function(){
            $('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
            $('#muro_pagina_perfil').click(function(){
                $('#result_pagina_perfil').fadeOut(1000);
                    $('#result_pagina_perfil').load('../../includes/muro.php');
                    $('#result_pagina_perfil').fadeIn(1000);
                    return false;
                });
            }
        });
    



    saludos espero el link para poder echarte un amanooo y ver el porque no entra al js de muro.js
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 07:14:00 Hola si mira ese link este http://www.elcapa8.com/includes/muro.php   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 07:27:08 con ese archivo tambien diii capa en si quiero el archivo q hace el load al
    http://www.elcapa8.com/includes/muro.php

    pasame ese link , saludos
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 07:34:38 tu haces este load mira

    
        $(document).ready(function(){
            $('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
            $('#muro_pagina_perfil').click(function(){
                $('#result_pagina_perfil').fadeOut(1000);
                    $('#result_pagina_perfil').load('../../includes/muro.php');
                    $('#result_pagina_perfil').fadeIn(1000);
                    return false;
                });
            }
        });
    



    quiero el link de este achivo men!
      Votos: 2 - Link respuesta
     
  • Fecha: 21-11-2015 07:49:28 Ya te la pase está arriba que es donde aparece el perfil en sus.   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 08:04:07 este link

    http://www.elcapa8.com/includes/muro.php

    se q tu cargas en un archivoo

    por eso haz puesto esto

    
        $(document).ready(function(){
            $('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
            $('#muro_pagina_perfil').click(function(){
                $('#result_pagina_perfil').fadeOut(1000);
                    $('#result_pagina_perfil').load('../../includes/muro.php');
                    $('#result_pagina_perfil').fadeIn(1000);
                    return false;
                });
            }
        });
    
    


    y si yo inspecciono elemento no veoo

    donde cargas tu js murooo , por lo que vi tu incrustabas
    aqui


    
        <script type="text/javascript" src="<?=$url?>/js/jquery.js"></script>
        <script type="text/javascript" src="<?=$url?>/js/muro.js"></script>
        <form id="form_perfil_muro" class="form_perfil_muro"  method="post">
            <h2 class="principal">Escribe en el muro:</h2>
            <textarea name="publi_muro_perfil" id="publi_muro_perfil" cols="30" rows="10" placeholder="Escribe en el muro"></textarea>
            <input type="hidden" id="id_muro" name="id_muro" value="<?=$_GET['id_muro']?>">
            <input type="hidden" id="id_user" name="id_user" value="<?=$_SESSION["usuario_id"]?>"><br>
            <input type="button" class="submit_link_chico" id="boton_perfil_muro" value="Insertar" name="enviar" style=""/>
            <div id="res"></div>
        </form>
    
    



    pero eso esta mal porque mira q tu esta pagina lo cargas mediante un load y al tener este achivo

    esta lineas

    
      <script type="text/javascript" src="<?=$url?>/js/jquery.js"></script>
        <script type="text/javascript" src="<?=$url?>/js/muro.js"></script>
    


    no te va a considerar el muro.js

    por que cuando tu cargas el archivo principal q carga el muroo el js/muro no existe es pro eso que no entra al muro.js

    por eso en un post anterior te dije q quietes eso y pongas en el archivo principal

    quiero el link de ese archivo principal

    donde cargas el muro.php
      Votos: 2 - Link respuesta
     
  • Fecha: 21-11-2015 08:09:32 Si te lo pase que es perfil de usuario que eses te htttp:///www.elcapa8.com/usuario/perfil/admin.html.   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 08:12:05 ya para no hacer mucho rodeooo solucionalo con estoo


    en este archivo donde tines estoo

    
        $(document).ready(function(){
            $('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
            $('#muro_pagina_perfil').click(function(){
                $('#result_pagina_perfil').fadeOut(1000);
                    $('#result_pagina_perfil').load('../../includes/muro.php');
                    $('#result_pagina_perfil').fadeIn(1000);
                    return false;
                });
            }
        });
    
    


    reemplaza por esto

        $(document).ready(function(){
            $('#result_pagina_perfil').load('../../includes/muro.php?id_muro=<?=$_GET[url]?>');
            $('#muro_pagina_perfil').click(function(){
                $('#result_pagina_perfil').fadeOut(1000);
                    $('#result_pagina_perfil').load('../../includes/muro.php');
                    $('#result_pagina_perfil').fadeIn(1000);
                    $.getScript("http://elcapa8.com/js/muro.js");
                    return false;
                });
            }
        });
    




    he aumentado esta linea
    $.getScript( "http://elcapa8.com/js/muro.js");
    que se encargar de incrutar tu js muro.js

    no te olvides de cambiar

    esto men

    
    alert("cero");
    $(document).ready(function(){
    alert("uno");
        $("#boton_perfil_muro").click(function(){
    alert("dos");
            var formulario = $("#publi_muro_perfil").serializeArray();
            $.ajax({
                type: "POST",
                dataType: 'json',
                url: "http://elcapa8.com/includes/muro_publi.php",
                data: formulario,
            }).done(function(respuesta){
                $("#res").html(respuesta.mensaje);
            });
     });
    });
    
    


    por esto


    $(document).ready(function(){
        $("#boton_perfil_muro").click(function(){
            var formulario = $("#form_perfil_muro").serialize();
            $.ajax({
                type: "POST",
                dataType: 'json',
                url: "http://elcapa8.com/includes/muro_publi.php",
                data: formulario,
                success:function(respuesta){
                    $("#res").html(respuesta.mensaje);
                }
            });
     });
    });
    



    saludos
      Votos: 1 - Link respuesta
     
  • Fecha: 21-11-2015 08:35:58 hola,
    ya logre que cogiera la libreria muro.js pero no me hace nada T.T.
      Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 09:32:19 gracias amigo ya logre solucionarlo.   Votos: 1 - Link respuesta
     
  • Fecha: 21-11-2015 12:08:54 Como lograste a solucionarlo   Votos: 0 - Link respuesta
     
  • Fecha: 21-11-2015 12:44:48 Incluyendo varias cosas y solucionando problemas de incompatibilidad con una función.
    Puedes ver el muro.js solo cambio algunas cosas
      Votos: 3 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com