2017-07-11 3 views
0

J'ai un problème en imprimant dans la table, un certain JSON qui se trouve sur le serveur. Ceci est mon JSON

process([ 
{ 
    "name": "A", 
    "value": "41" 
}, 
{ 
    "name": "B", 
    "value": "71" 
}, 
{ 
    "name": "C", 
    "value": "20" 
}],"2017.07.11 15:48:33"); 

Mon contrôleur:

myApp.controller('liveTable', function ($scope, $http) { 

$http.get('http://something.com/get.php?jsonp=2017') 
    .then(function (response) { 
     $scope.myData= response.data; 
     console.log(response.data); 
    }); 

Et ceci est mon HTML

<div class="liveTable" ng-controller="liveTable"> 
      <table> 
       <tr ng-repeat="item in myData.process"> 
        <td>{{item.name}}</td> 
        <td>{{item.value}}</td> 
       </tr> 
      </table> 

     </div> 

une idée où je me trompe? TNX

+0

Est-ce que vous voyez des données dans la console.? – Ved

+0

cela ne semble pas valide json – yBrodsky

+0

oui je vois des données dans la console – mrkibzk

Répondre

0

Essayez:

app.service("dangerousAPI", function($q) { 
    this.get = get; 

    function get(funcName, url) { 
    var dataDefer = $q.defer(); 

    window[funcName] = function(x) { 
     dataDefer.resolve(x); 
    } 

    var tag = document.createElement("script"); 
    tag.src = url; 

    document.getElementsByTagName("head")[0].appendChild(tag); 

    return dataDefer.promise; 
    } 
}) 
dangerousAPI.get('process',url).then(function(data) { 
    $scope.myData= data; 
    console.log(data); 
}) 

Pour plus d'informations, consultez Not a Legal JSONP API


quand je mets {{myData}}, j'ai complet jsonp,

Je suis content que vous ayez été en mesure d'obtenir les données avec cette réponse. Cela montre que le serveur ne renvoie pas de JSON légal. Le serveur doit être corrigé pour renvoyer le JSON légal ou légal JSONP.

Pour permettre une réponse du serveur avec un tableau JSONP valide, envelopper les JSON entre parenthèses() et préfixer le rappel:

echo $_GET['callback']."([{'fullname' : 'Jeff Hansen'}])"; 
Using json_encode() will convert a native PHP array into JSON: 

$array = array(
    'fullname' => 'Jeff Hansen', 
    'address' => 'somewhere no.3' 
); 
echo $_GET['callback']."(".json_encode($array).")"; 

Pour plus d'informations, consultez Simple PHP and JSONP example

+0

quand je mets {{myData}}, jsonp complète, je voudrais imprimer élément par élément, une idée? – mrkibzk

+0

Je suis content que vous ayez pu obtenir les données avec cette réponse. Cela montre que le serveur ne renvoie pas de JSON légal. Le serveur doit être corrigé pour renvoyer soit JSON légal soit légal [JSONP] (http://en.wikipedia.org/wiki/JSONP). – georgeawg

0

Je pense qu'il ya quelque chose de mal avec vos données json.

Je peux voir en changeant les données json. vous pouvez y jeter un coup d'oeil.

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-route.js"></script> 
 
<body> 
 

 
<div ng-app="myapp"> 
 
<div class="liveTable" ng-controller="myctrl"> 
 
      <table> 
 
       <tr ng-repeat="item in process"> 
 
        <td>{{item.name}}</td> 
 
        <td>{{item.value}}</td> 
 
       </tr> 
 
      </table> 
 

 
     </div> 
 
</div> 
 
</div> 
 
<script> 
 
angular.module("myapp",[]).controller("myctrl", function($scope){ 
 
    $scope.process = ([ 
 
{ 
 
    "name": "A", 
 
    "value": "41" 
 
}, 
 
{ 
 
    "name": "B", 
 
    "value": "71" 
 
}, 
 
{ 
 
    "name": "C", 
 
    "value": "20" 
 
}]); 
 
    
 

 
}); 
 
</script> 
 

 
</body> 
 
</html>