2015-08-10 21 views
5

Sto cercando di ottenere un oggetto json da php in modo che possa lavorare con esso in ajax. Ecco il mio codice Ajax:Restituzione di dati json da php a ajax

$.ajax({ 
    type: 'get', 
    url: eventsListPath, 
    dataType : "json", 
    data: {}, 
    success: function (data) { 
     $('#eventInformation').html(data.table); 
     alert(data.table); 
    } 
}); 

E il mio PHP:

$obj->table="hey"; 
echo json_encode($obj, JSON_UNESCAPED_SLASHES); 

Ma la linea

alert(data.table); 

torna con 'undefined'. Qualche idea?

+0

Prova 'console.log (dati)' in 'Success'. Dimmi il risultato – iplus26

risposta

1

Prova questo nel tuo codice php. Json codifica un array.

$obj['table']="hey"; 
echo json_encode($obj, JSON_UNESCAPED_SLASHES); 

Alternate - O la classe dovrebbe essere come questo

class your_classname 
{ 
    public $table; 
//other class related code 
} 
$obj = new your_classname; 

$obj->table="hey"; 
echo json_encode($obj, JSON_UNESCAPED_SLASHES); 
+0

contrassegna la mia risposta come corretta se il codice ti ha aiutato. grazie @Steven Jacks –

1

se non mi sbaglio, json_encode funziona solo per gli array

$obj = [{table:"hey"}]; 
0
<?php 
$obj = new stdClass(); 
$obj->table="hey"; 
echo json_encode($obj) 

produce

{"table": "hey"}

Controllare usando Firebug. Controllare anche il tipo di contenuto, dovrebbe essere Content-Type: application/json

0

si deve passare serie a json_encode non obiettare

<?php 
$array['table'] = "hey"; 
echo json_encode($array, JSON_UNESCAPED_SLASHES); 
Problemi correlati