AJAX - Jquery Ajax variable a php not found

 
Vista:
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 13:30:14
Hola buenas:
Tengo escritos un php y un Jquery, el Jquery se ocupa de recoger el texto de un y de realizar un get mandando esa variable al php y al recibir respuesta mostrar una foto. Al ejecutarlo en la consola del inspector de elementos me sale esto: jquery.js:9536 GET http://localhost/pruebas/prueba.php?artista= 404 (Not Found)

Os subo las imágenes aquí de los archivos y a ver si me podéis ayudar.
Html sencillo para realizar pruebas.
HTML

Jquery que recoge el texto del p "kast-np-artist" y llama al php y su funcion.
Jquery

PHP que se conecta a la base de datos donde están guardados los nombre de las fotos de los artistas hace la sentencia SQL recorre la base de datos y devuelve la ruta.
PHP

No encuentro el fallo, llevo un par de dias con ello, estoy aprendiendo ajax y no soy capaz de resolver esto.
Gracias de antemano a todos aquellos que lo lean.
Un saludo
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
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 14:27:19
Creo que tu error esta en llamar el fichero http://localhost/pruebas/prueba.php?artista= 404 (Not Found), 404 es una excepción que indica que la pagina que busca no se encuentra, chequea la dirección a la hora de llamar al código php en tu ajax. si fuese el caso de un error en código te daría 505 (Internal Server Error).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 30
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Yamil Bracho (184 intervenciones) el 20/12/2016 14:43:07
Prueba ejecutando el php desde el navegador, es decir, escribe en la linea de navegacion
http://localhost/pruebas/prueba.php?artista=404

2) Creo que es mejor que hagas la seleccion en la consulta, es decir,
1
$sql = "SELECT * FROM fotos WHERE Nombre LIKE '%$cantautor'"

Asi dejas que el RDBMS haga la seleccion y no lo haces en PHP, que pudiera acelerar el proceso

Si aun quieres usar el loop puedes simplificarlo como

1
2
3
4
5
6
7
$result = '';
while ($row = mysql_fetch_array( $resultado)) {
	if (substr($row['Nombre'], 0, -7) == $cantautor) {
		$result = "http://localhost/Artistas/fotos artisitas/" . $row['Nombre'];
		break;
	}
}

echo $result;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 15:22:48
Buenas, gracias por la respuesta lo primero, lo segundo es que he ejecutado el php y si le paso "http://localhost/Artistas/pruebas/prueba.php?artista=Coldplay" hace perfectamente lo que tiene que hacer me devuelve la ruta de la foto a la que quiero acceder.
Acabo de ejecutar el programa normal otra vez y ahora me salta este error :
http://localhost/Artistas/data Failed to load resource: the server responded with a status of 404 (Not Found)
Eso significa que no encuentra la foto? que la ruta a la foto que el php devuelve esta mal?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 15:30:43
Primero revisa que la foto que buscas este en la carpeta y segundo, estas paso una dirección con espacio (fotos artistas) cuando debe ser (fotosartistas) o fotos_artistas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 15:38:24
Creo que tiene algo que ver con el data, creo que no se manda bien pork tengo puesto un console.log(data) para que saque por consola que hay en data y esto no muestra nada...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 15:53:36
Ponle en la condición si no encuentra el artista que te muestre echo"not fount"; Así sabes si es que no esta encontrando el fondo. Es lo mas probable, como no encuentra nada no hay respuesta desde tu código php.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 16:25:01
Definitivamente en la condición se me va por el else, pero bueno lo he forzado a que devuelva una ruta en el else:

php-condicion

Y me he dado cuenta de que una vez ejecutado la propiedad css de backgorund al div fondo si se la aplica:

pantallazo

Y me salta este error y no se pork...

error

El data no lo termino de entender si en el console.log(data) imprime la ruta no se pork le dice not found
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 17:16:22
console.log es para mostrar datos de una operacion o variables (console.log( 5 + 6 )), prueba $("#div").innerHTML(console.log(data)); (data) es la respuesta que viene desde tu código php, cualquier cosa que responda el código php;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 17:34:04
Lo he probado en el Jquery directamente, en al consola del inspector de elementos y nada... si lo pongo en el jquery directamente me muestra como en la primera foto porque tengo puesto un console.log(data) pero si lo pongo en la consola del inspector me dice que es undefined.
consola

Jqueryconsole

consolaerror
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 17:55:01
Pon esto en la linea donde asignas el background $('.fondo').css('background-image', 'url(' + data + ')'); ademas no puedes poner en la consola $("#div").innerHTML(console.log(data)); porque data no es una variable global por lo tanto te pone que no esta undefined
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 18:41:38
Bien, ahora la foto sale! :) muchas gracias, pero ahora tengo otro problema...
Antes le he obligado a devolver la ruta de la foto por el else en el php:

php-condicion

y no consigo que salga por el if, no se porque la variable $cantautor que recibe con el get del jquery no la llena y no puede hacer la comparacion en el if. Alguna sugerencia?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 14
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Jquery Ajax variable a php not found

Publicado por Ernesto (7 intervenciones) el 20/12/2016 21:05:06
intenta mandarlo por POST con Jquery.post() y en php $_POST['artista']
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Jquery Ajax variable a php not found

Publicado por Ignacio (8 intervenciones) el 20/12/2016 22:22:41
Sigue sin llenar la variable...
Aqui se deberia ver lo que lleva la variable creo:
inspector

Aqui te pongo los cambios que he hecho.
jqueryklf
php-nuevo

Aqui se ve como el Jquery si le pone las propiedades css pero la URL esta vacia...
inspectorcss

Help pls! me estoy desesperando ya...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar