Προς το περιεχόμενο

Angular and PHP


Προτεινόμενες αναρτήσεις

Δημοσ.
Γεια σας παιδιά,]

 

Προσπαθώ να επιστρέψω ένα json από php σε angular controller αλλά μόνο το τελευταίο array εκτυπώνεται στην σελίδα (μονο ο John και όχι ο Stelios ή ο Vaios):

HTML CODE

    <body ng-app="F1FeederApp" ng-controller="driversController">

    <table>

    <thead>

    <tr><th colspan="4">Drivers Championship Standings</th></tr>

    </thead>

    <tbody>

    <tr ng-repeat="dr in driversList">

    <td>

    {{dr.Driver.givenName}} {{dr.Driver.familyName}}

    </td>

    </tr>

    </tbody>

    </table>

 

THE CONTROLLER.JS

    angular.module('F1FeederApp.controllers', []).

    controller('driversController', function($scope, $http) {

    $http.get("drivers.php").then( function(response) {

    console.log(response);

    $scope.driversList = response;

    });

    });

 

 

 

<?php

$drivers = array(

"Driver" => array(

"givenName" => "Vaios",

"familyName" => "Anastasiadis"

),

"Driver" => array(

"givenName" => "Stelios",

"familyName" => "Anastasiadis"

),

"Driver" => array(

"givenName" => "John",

"familyName" => "Anastasiadis"

)

);

echo json_encode($drivers, JSON_PRETTY_PRINT);

?>

 

Καμμιά ιδέα?

 

Ευχαριστώ πολύ.


Δημοσ.

Με κάθε επιφύλαξη, καθώς δεν μπορώ να το τρέξω αυτή τη στιγμή, δοκίμασε στο array ($drivers) μέσα στην PHP να αλλάξεις όνομα στα στοιχεία του (είναι όλα "Driver") ή καλύτερα να το αφαιρέσεις και απλώς να βάλεις τα associative arrays μόνα τους, διότι όταν εσύ λες dr.Driver.givenName δεν ξέρει σε ποιον αναφέρεσαι.

Δημοσ.

Δοκιμασα και μονα τους αλλα δεν ηξερα πως να τα φωναξω στην html ng-repeat....καμμια βοηθεια;;; δοκιμασα να τα φωναξω ως dr.givenName αλλα δεν επαιξε...

Δημοσ.

Με αυτό που σου είπε ο DeadElectron άλλαξε στον controller και τον τρόπο που αναθέτεις τα δεδομένα στο view:

$scope.driversList = response.data;

και θα είσαι οκ με το ng-repeat:

<tr ng-repeat="dr in driversList">
        <td>
          {{dr.givenName}} {{dr.familyName}}
        </td>
      </tr>
  • Like 1
Δημοσ.

Σωστά. Το response που περιμένει το callback που έχεις στον controller είναι ένα object το οποίο έχει μερικά properties όπως data, status, config etc. Εφόσον θέλεις να χρησιμοποιήσεις τα δεδομένα που παρέχει το JSON θα πρέπει να αναθέσεις στο driversList τα περιεχόμενα του property data. Δες το manual της Angular για επιπλέον πληροφορίες.

Δημοσ.

Παίδες πολύ σωστά τα είπατε...!!!! Έπαιξε αμέσως.

Ευχαριστώ πολύ για την σύντομη και περιεκτική απάντηση και μάλιστα τέτοια μέρα (σάββατο)!

 

Νάστε καλά, καλό βράδυ.

Δημοσ.

Παιδιά, συνεχίζοντας το project και θέλοντας να παίξω με το Routing και το ng-view

έχω καταλήξει στο εξής 

 

app.zip

 

Κάτι δεν πάει καλά όμως....

Στην πρώτη σελίδα δεν τυπώνει τίποτα, αλλά ταυτόχρονα φέρνει μόνο ένα αποτέλεσμα από την βάση ενώ έχω 33 εγγραφές...

 

Καμμιά ιδέα?

 

Επίσης, για το δεύτερο routing (εκεί όπου ζητάω να μου φέρει μόνο ένα id) το έχω σωστά?

 

Συγνώμη για τις απορίες μου, αλλά είναι βράδυ και προφανώς όντας ζαλισμένος, κάτι μου ξεφεύγει...

 

 

Ευχαριστώ πολύ.

 

Δημοσ.

Δεν γίνεται να βρεις το πρόβλημα έτσι, πάρε ένα ένα τα στοιχεία σου και δες το output, αν είναι ΟΚ προχωράς παρακάτω.

 

Το κάθε php αρχείο, τι ακριβώς σου φέρνει? είναι αυτό που θες? αν ναι, προχωράς στο να εισάγεις το αποτέλεσμα στην js και να το χειριστείς. Απομόνωσε λοιπόν συγκεκριμένα κομμάτια και αν δε βρεις λύση μόνος σου (που αν το κάνεις σωστά, θα βρεις) έλα να συζητήσουμε ότι πρόβλημα υπάρχει.

Δημοσ.

Δεν θα το πιστεψεις αλλα μολις λυθηκε το προβλημα....για καποιο λογο δεν εβρισκε τα templates μου...το ελυσα ομως...σε ευχαριστω πολυ.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...