Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Diesan Romero en 4 Octubre 2017, 03:16 AM

Título: Problema con jQuery peticion Ajax
Publicado por: Diesan Romero en 4 Octubre 2017, 03:16 AM
Estoy siguiendo el curso de jQuery de Codigo Facilito. Tengo este codigo:

Código (javascript) [Seleccionar]

$(function(){
$('#ejecutar').click(function(){
sumar($('#valor1').val(), $('#valor2').val());
});
function suma(val1,val2){
var parametros = {
"val1":val1,
"val2":val2,
}
$.ajax({
data:parametros,
url:"suma.php",
type:"post",
beforeSend: function(){
console.log("Se esta procesando la peticion");
}
})
.done(function(data){
$('#resultado').text(data)
//console.log(data)
})
}
});


y este en php que es el que supuestamente tiene que hacer la suma:

Código (php) [Seleccionar]

<?php
$resultado $_POST['val1'] + $_POST['val2'];
echo $resultado;
?>



y por ultimo mi html:

Código (html4strict) [Seleccionar]

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hola</title>
</head>

<body>
<center><h1>Ejemplo Ajax</h1></center>
<input type="text" id="valor1">
<input type="text" id="valor2">
<input type="submit" id="ejecutar" value="Sumar">

<h3 id="resultado"></h3>

<script src="js/jquery-3.2.1.min.js">
</script>
<script src="js/main.js"></script>
</body>
</html>


el error que me tira la consola es el siguiente: ReferenceError: sumar is not defined, me dice que es en la linea 3:3
Título: Re: Problema con jQuery peticion Ajax
Publicado por: engel lex en 4 Octubre 2017, 03:19 AM
Estás declarando suma dentro de la función anónima, al momento de realizarse probablemente no esté en ese scope (porque es un evento disparado)
Título: Re: Problema con jQuery peticion Ajax
Publicado por: Diesan Romero en 4 Octubre 2017, 03:23 AM
Entonces debo colocar el resto del codigo dentro de la funcion anonima?
Título: Re: Problema con jQuery peticion Ajax
Publicado por: engel lex en 4 Octubre 2017, 03:24 AM
Cita de: magodiesan en  4 Octubre 2017, 03:23 AM
Entonces debo colocar el resto del codigo dentro de la funcion anonima?

Que resto? Si está todo dentro de la función anónima

Tienes que pasar sumar al scope global
Título: Re: Problema con jQuery peticion Ajax
Publicado por: #!drvy en 4 Octubre 2017, 03:27 AM
Tu función se llama "suma" pero invocas "sumar". Linea 6 y 3 respectivamente.

Saludos
Título: Re: Problema con jQuery peticion Ajax
Publicado por: Diesan Romero en 4 Octubre 2017, 03:29 AM
Ya lo arregle, el error era que la funcion se llamaba sumar, mientras que yo le habia puesto suma. Gracias por la ayuda Engl lex