2017-07-11 3 views
0

Ich habe ein Problem durch den Druck in der Tabelle, einige JSON, die auf dem Server ist. Das ist mein JSON

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

Mein Controller:

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); 
    }); 

Und das ist mein 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> 

eine Ahnung, wo ich falsch? tnx

+0

Haben Sie Daten in der Konsole zu sehen.? – Ved

+0

das scheint nicht wie gültige JSON – yBrodsky

+0

Ja, ich sehe Daten in der Konsole – mrkibzk

Antwort

0

Versuchen:

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); 
}) 

Weitere Informationen finden Sie Not a Legal JSONP API


wenn ich {{myData}} gesagt, ich complet JSONP haben,

Ich bin froh, dass Sie die Daten mit dieser Antwort erhalten konnten. Es zeigt, dass der Server kein gültiges JSON zurückgibt. Der Server sollte repariert werden, um entweder legales JSON oder legales JSONP zurückzugeben.

den Server antwortet mit einem gültigen JSONP Array zu machen, die JSON in Klammern wickeln() und den Rückruf setzt:

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).")"; 

Weitere Informationen finden Sie Simple PHP and JSONP example

+0

, wenn ich {{myData}} setzen, habe ich komplett jsonp, möchte ich Element für Element drucken, irgendeine Idee? – mrkibzk

+0

Ich bin froh, dass Sie die Daten mit dieser Antwort erhalten haben. Es zeigt, dass der Server kein gültiges JSON zurückgibt. Der Server sollte repariert werden, um entweder legales JSON oder legales [JSONP] (http://en.wikipedia.org/wiki/JSONP) zurückzugeben. – georgeawg

0

Ich denke, es ist etwas falsch mit deinen json daten.

Ich kann sehen, indem Sie Ihre JSON-Daten ändern. Sie können es sich ansehen.

<!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>