Pregunta:
Fecha: 20-11-2015 14:09:40
(En Español)
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í.
Y esta me muestra una página con este formulario.
De estas página llamó la petición AJAX y es donde empieza el problema.
Y he aquí el PHP que está bn elaborado.
Espero me puedan ayudar Salu2 su amigo ElCapa8 Votos: 2 - Respuestas: 34 - Vistas: 17 Compartir en: Google Facebook Twitter LinkedIn Link
¿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 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: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 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