function Δημοσ. 16 Ιανουαρίου 2016 Δημοσ. 16 Ιανουαρίου 2016 Γεια σας παιδιά,] Προσπαθώ να επιστρέψω ένα 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); ?> Καμμιά ιδέα? Ευχαριστώ πολύ. app.zip
DeadElectron Δημοσ. 16 Ιανουαρίου 2016 Δημοσ. 16 Ιανουαρίου 2016 Με κάθε επιφύλαξη, καθώς δεν μπορώ να το τρέξω αυτή τη στιγμή, δοκίμασε στο array ($drivers) μέσα στην PHP να αλλάξεις όνομα στα στοιχεία του (είναι όλα "Driver") ή καλύτερα να το αφαιρέσεις και απλώς να βάλεις τα associative arrays μόνα τους, διότι όταν εσύ λες dr.Driver.givenName δεν ξέρει σε ποιον αναφέρεσαι.
function Δημοσ. 16 Ιανουαρίου 2016 Μέλος Δημοσ. 16 Ιανουαρίου 2016 Δοκιμασα και μονα τους αλλα δεν ηξερα πως να τα φωναξω στην html ng-repeat....καμμια βοηθεια;;; δοκιμασα να τα φωναξω ως dr.givenName αλλα δεν επαιξε...
alou Δημοσ. 16 Ιανουαρίου 2016 Δημοσ. 16 Ιανουαρίου 2016 Με αυτό που σου είπε ο DeadElectron άλλαξε στον controller και τον τρόπο που αναθέτεις τα δεδομένα στο view: $scope.driversList = response.data; και θα είσαι οκ με το ng-repeat: <tr ng-repeat="dr in driversList"> <td> {{dr.givenName}} {{dr.familyName}} </td> </tr> 1
DeadElectron Δημοσ. 16 Ιανουαρίου 2016 Δημοσ. 16 Ιανουαρίου 2016 Σωστά. Το response που περιμένει το callback που έχεις στον controller είναι ένα object το οποίο έχει μερικά properties όπως data, status, config etc. Εφόσον θέλεις να χρησιμοποιήσεις τα δεδομένα που παρέχει το JSON θα πρέπει να αναθέσεις στο driversList τα περιεχόμενα του property data. Δες το manual της Angular για επιπλέον πληροφορίες.
function Δημοσ. 16 Ιανουαρίου 2016 Μέλος Δημοσ. 16 Ιανουαρίου 2016 Παίδες πολύ σωστά τα είπατε...!!!! Έπαιξε αμέσως. Ευχαριστώ πολύ για την σύντομη και περιεκτική απάντηση και μάλιστα τέτοια μέρα (σάββατο)! Νάστε καλά, καλό βράδυ.
function Δημοσ. 17 Ιανουαρίου 2016 Μέλος Δημοσ. 17 Ιανουαρίου 2016 Παιδιά, συνεχίζοντας το project και θέλοντας να παίξω με το Routing και το ng-view έχω καταλήξει στο εξής app.zip Κάτι δεν πάει καλά όμως.... Στην πρώτη σελίδα δεν τυπώνει τίποτα, αλλά ταυτόχρονα φέρνει μόνο ένα αποτέλεσμα από την βάση ενώ έχω 33 εγγραφές... Καμμιά ιδέα? Επίσης, για το δεύτερο routing (εκεί όπου ζητάω να μου φέρει μόνο ένα id) το έχω σωστά? Συγνώμη για τις απορίες μου, αλλά είναι βράδυ και προφανώς όντας ζαλισμένος, κάτι μου ξεφεύγει... Ευχαριστώ πολύ.
alou Δημοσ. 17 Ιανουαρίου 2016 Δημοσ. 17 Ιανουαρίου 2016 Δεν γίνεται να βρεις το πρόβλημα έτσι, πάρε ένα ένα τα στοιχεία σου και δες το output, αν είναι ΟΚ προχωράς παρακάτω. Το κάθε php αρχείο, τι ακριβώς σου φέρνει? είναι αυτό που θες? αν ναι, προχωράς στο να εισάγεις το αποτέλεσμα στην js και να το χειριστείς. Απομόνωσε λοιπόν συγκεκριμένα κομμάτια και αν δε βρεις λύση μόνος σου (που αν το κάνεις σωστά, θα βρεις) έλα να συζητήσουμε ότι πρόβλημα υπάρχει.
function Δημοσ. 17 Ιανουαρίου 2016 Μέλος Δημοσ. 17 Ιανουαρίου 2016 Δεν θα το πιστεψεις αλλα μολις λυθηκε το προβλημα....για καποιο λογο δεν εβρισκε τα templates μου...το ελυσα ομως...σε ευχαριστω πολυ.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα