JQuery - Ejemplo sencillo con el error ReferenceError: $ is not defined

 
Vista:
sin imagen de perfil

Ejemplo sencillo con el error ReferenceError: $ is not defined

Publicado por José (1 intervención) el 30/09/2022 11:39:38
Estoy intentando llamar a un php desde un javascript.

Mi código es más extenso, pero estoy probando este ejemplo sencillo para ver si funciona la llamada.

El ejemplo consta de tres ficheros y al abrir en el navegador

localhost/myweb/mytest/example01/index.html


se debe mostrar los alert que aparecen en index.js y éste llama a index.php, que debe escribir un mensaje en un fichero de log.

Los ficheros que uso en mi ejemplo de prueba son:

index.html:

1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF'8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Hello world</title>
    </head>
 
    <body>
        <script src="index.js"></script>
    </body>
</html>

index.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
alert("Hello world from javascript!");
 
debugger;
 
var myip = "192.168.1.20";
var myfile = "My_file_name";
 
$.get( 'index.php',{ paramIp: myip, fileSource: myfile },
 
			function( response ) {
 
				if ( response.status == 'success' ) {
                    alert("PHP returns OK");
				}
				else {
                    alert("PHP returns ERROR");
				}
			}
		)

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$paramIp = (isset( $_GET['paramIp'] ))? $_GET['paramIp']: false;
 
$fileSource=  ( isset($_GET['fileSource'] ))?$_GET['fileSource']: "";
 
$fp = fopen("log_messages.txt", "a");
$date = (new DateTime("NOW"))->format("y-m-d H:i:s");
fwrite($fp, $date."index.php  paramIp = " . $paramIp . ", fileSource = ". $fileSource . PHP_EOL);
fclose($fp);
 
 
echo $fileSource;
?>

Cuando abro en el navegador la página

localhost/myweb/mytest/example01/index.html


Se muestra el alert del javascript, apareciendo el mensaje

Hello world from javascript

Pero al continuar la ejecución del script, veo que no llega a ejecutarse el php y en FireBug se muestra el error:

ReferenceError: $ is not defined

Después de consultar en varios foros algunos post que hablan de este error, he modificado los ficheros originales, dejándolos así:

index.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
        <script type="text/javascript" src="index.js"></script>
        <meta charset="UTF'8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Hello world</title>
    </head>
 
    <body>
        <script src="index.js"></script>
    </body>
</html>


index.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$(document).ready(function(){
    alert('Hi from jQuery!');
    console.log('Hi from jQuery!');
});
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
 
alert("Hello world from javascript!");
 
debugger;
 
var myip = "192.168.1.20";
var myfile = "My_file_name";
 
$.get( 'index.php',{ paramIp: myip, fileSource: myfile },
 
			function( response ) {
				if ( response.status == 'success' ) {
                    alert("PHP returns OK");
				}
				else {
                    alert("PHP returns ERROR");
				}
			}
		)

index.php

1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript" src="index.js"></script>
 
<?php
$paramIp = (isset( $_GET['paramIp'] ))? $_GET['paramIp']: false;
$fileSource=  ( isset($_GET['fileSource'] ))?$_GET['fileSource']: "";
 
$fp = fopen("log_messages.txt", "a");
$date = (new DateTime("NOW"))->format("y-m-d H:i:s");
fwrite($fp, $date."index.php  paramIp = " . $paramIp . ", fileSource = ". $fileSource . PHP_EOL);
fclose($fp);
 
echo $fileSource;
?>

Al igual que antes, se muestra el alert del javascript, apareciendo el mensaje

Hello world from javascript

Pero no llega a ejecutarse el php y en FireBug se sigue mostrando el error:

ReferenceError: $ is not defined
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder