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:
index.js
index.php
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
index.js
index.php
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
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
0