Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Ali Baba en 4 Octubre 2017, 03:16 am



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

Código
  1. $(function(){
  2. $('#ejecutar').click(function(){
  3. sumar($('#valor1').val(), $('#valor2').val());
  4. });
  5. function suma(val1,val2){
  6. var parametros = {
  7. "val1":val1,
  8. "val2":val2,
  9. }
  10. $.ajax({
  11. data:parametros,
  12. url:"suma.php",
  13. type:"post",
  14. beforeSend: function(){
  15. console.log("Se esta procesando la peticion");
  16. }
  17. })
  18. .done(function(data){
  19. $('#resultado').text(data)
  20. //console.log(data)
  21. })
  22. }
  23. });
  24.  

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

Código
  1. <?php
  2. $resultado = $_POST['val1'] + $_POST['val2'];
  3. echo $resultado;
  4. ?>
  5.  

y por ultimo mi html:

Código
  1. <!DOCTYPE html>
  2. <meta charset="utf-8">
  3. <title>Hola</title>
  4. </head>
  5.  
  6. <center><h1>Ejemplo Ajax</h1></center>
  7. <input type="text" id="valor1">
  8. <input type="text" id="valor2">
  9. <input type="submit" id="ejecutar" value="Sumar">
  10.  
  11. <h3 id="resultado"></h3>
  12.  
  13. <script src="js/jquery-3.2.1.min.js">
  14. <script src="js/main.js"></script>
  15. </body>
  16. </html>
  17.  

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: Ali Baba 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
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: Ali Baba 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