2011-12-09 10 views
5

Mi script devuelve valor indefinido de mi php json_encodejson_encode volver indefinido

index.php

<?php 
    $returnThis['user'] = "Robin098"; 
    $returnThis['id'] = "08465"; 

    echo json_encode($returnThis); 
?> 

sample.html

<head> 
    <script> 
     function clickHere(){ 
      $.get("index.php", function(data) { 
      alert(data.user); 
      }); 
     } 

    </script> 
</head> 
     <body> 
     <input type="button" onclick = "clickHere();" value="ClickHere!"/> 
     </body> 

¿Cómo puedo solucionar este problema?

+0

¿De dónde viene la variable '$ aReturn' en su script PHP? Pasas de '$ returnThis' a' $ aReturn' sin explicación. – Jasper

Respuesta

3

Utilice el método jQuery.getJSON en lugar de .get, si desea que su JSON se analice. Además, asegúrese de que la biblioteca jQuery esté cargada correctamente.

function clickHere(){ 
     $.getJSON("index.php", function(data) { 
      alert(data.user); 
     }); 
    } 

Actualmente, se está utilizando $.get(url, function(data){...}). En este contexto, data es una cadena que contiene la respuesta del servidor:

{"user":"Robin098","id":"80465"} 

Usando alert(data) dentro de la función mostrará esta cadena.

+0

Hola, muchas gracias :) –

1

Parece que está configurando $returnThis, pero luego devuelve $aReturn. No desea:

$returnThis['user'] = "Robin098"; 
$returnThis['id'] = "08465"; 

echo json_encode($returnThis); 
+0

Lo sentimos mal. –

+0

@RobinCarloCatacutan - en ese caso, parece que Rob W le responde lo que quiere. ya sea .getJSON o $ .ajax con dataType establecido en json –

+0

No, acabo de escribir mal mi código aquí, no es lo mismo con mi código real. Me ayudaste. tnx. –