webForumDet fria alternativet

Lite problem med json

3 svar · 816 visningar · startad av grennfox

grennfoxMedlem sedan feb. 2010177 inlägg
#1

Hallå!

Jag har en databas som hämtar ut information och skickar det sen vidare till en angularjs controller. men jag får inte ordning på det riktigt. Då jag kan konsol logga ut vad jag får för något från php så ser det ut som så här:

->Object {home: Array[1]}
    ->home: Array[1]
          ->0: Object
               id: "1"
               infoLeft: "Left side"
               infoMiddle: "Middle"
               infoRight: "Right Side"

Då till mitt problem, jag vill kunnda få ut text enbart det som ligger under infoLeft.
Men har absolut ingen aning hur jag ska komma åt den.
Och om jag bara printar ut data så blir det så här:

{"home":[{"id":"1","infoLeft":"Left side","infoMiddle":"Middle","infoRight":"Right Side"}]}

Men så här ser min angularjs controller ut iallafall som ska hantera datan.

controller('HomeCtrl', ['$scope', '$http', function($scope, $http) {
  	$http.get('../server/home/getInfo').success(function(data){
      console.log(data);
        $scope.infoLeft = ??;
        $scope.infoMiddle = ??;
        $scope.infoRight = ??;
      });

  }])

Där jag har satt frågetecken är för jag vet inte vad jag ska skriva där för att komma åt just rätt info.

Hoppas ni fattar vad jag är ute efter :)

Nate.AMedlem sedan mars 2006296 inlägg
#2
<?php
    $json_object = json_decode('{"home":[{"id":"1","infoLeft":"Left side","infoMiddle":"Middle","infoRight":"Right Side"}]}');
    echo $json_object->home[0]->infoLeft;
    /* Left side */
?>

<script>
    var obj = JSON.parse('{"home":[{"id":"1","infoLeft":"Left side","infoMiddle":"Middle","infoRight":"Right Side"}]}');
    console.log(obj.home[0].infoLeft);
    /* Left side */
</script>

Jag har ingen koll på Angular men förutsatt att hela json objektet skickas till javascript controllern borde det bli den här sökvägen.
Eller har jag missat något?

voigtann1Medlem sedan juni 20019 519 inlägg
#3

är det så att du vill ha $scope till data.home[0]?

grennfoxMedlem sedan feb. 2010177 inlägg
#4

voigtann1 skrev:

är det så att du vill ha $scope till data.home[0]?

Ja det var det som var meningen, men den infon jag fick av er hjälpte mig så jag löste det. det blev så här till slut:

$scope.infoLeft = data.home[0].infoLeft
133 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)